[程式]为曲面加上格线问题(DirectX 9)

楼主: commandoEX (卡曼都)   2017-08-18 11:00:21
各位先进好,虽然我没打算走游戏设计,不过这里跟DirectX比较有关联
所以过来这求助
简单来说我要用DirectX
绘制一个曲面加上格线以及座标轴
目前的做法是座标轴、曲面、格线分3个物件各用DrawPrimitive画出来
成果如下图

问题在红圈处有些预想应该被白色曲面遮住的格线显示了出来
看起来比较像白色曲面画完的平面被格线叠上去
之后我有试着打开Z-buffer但状况没改善
所在这种状况下不适合用DrawPrimitive绘制物件?
因为我只靠google+MSDN自干找不到好的解决方法
希望可以有人指点一二
作者: Bencrie   2017-08-18 12:33:00
depth test 不是本来就应该开吗?没开就看谁后画谁就会在上层然后如果 model 没位移,两个 polygon 叠在一起可能会有 z fighting
作者: cjcat2266 (CJ Cat)   2017-08-18 12:57:00
depth test没设定对吧,多检查一下,跟DrawPrim应该没有关系或许这是个蠢问题,不过还是小心为上,你一开始有创造z buffer吗? 设定都正确,一开始没有创造和连结还是一样不会有效果可喜可贺另外不建议用Y+1这种作法让格线画在曲面上因为只要绘制尺寸一改,有机会明显漏馅其实你这张图已经有点露馅了,近看可以看到格线浮空建议用内建z bias或在pixel shader里面自己实作z bias绘制格线的时候,在normalized device coordinate做最终Z值微调,移到曲面正前方,且没有任何视觉误差
作者: Schottky (顺风相送)   2017-08-18 16:40:00
原来还有最终 Z 值微调这招
作者: hodsala (猴的沙拉)   2017-09-06 05:09:00
好怀念 题外问一下? DirectX9是我那个年代的主流 后期我印象到了DX11 现在开发3D还是用DX9吗[email protected]@ 我那年代指的是十二年前左右 现在没有其它主流SDK了吗@@?
作者: cjcat2266 (CJ Cat)   2017-09-06 06:35:00
最新图像API是DX12, OpenGL 4.6, 和VulkanWindows 7以后都不能用DX9

Links booklink

Contact Us: admin [ a t ] ucptt.com