OpenGL 为什么开启了深度测试显示3d模型遮挡关系还是出错
如题,我用OpenGL用来显示一个3D模型,有加纹理材质,没开启深度测试会有一些部位的遮挡出错,开启了还是有一些遮挡出错,是不是在绘制3D模型的时候Z坐标读错了?有没有可...
如题,我用OpenGL用来显示一个3D模型,有加纹理材质,没开启深度测试会有一些部位的遮挡出错,开启了还是有一些遮挡出错,是不是在绘制3D模型的时候Z坐标读错了?
有没有可能是顶点,贴图,法线坐标有读取错了? 展开
有没有可能是顶点,贴图,法线坐标有读取错了? 展开
展开全部
基本上不可能,还是认为程序有错误比较靠谱一点。有一种可能性是你在画某些三角形的时候不小心把depth test关了... 还有一种是复杂场景里比较常见的两个平行或者接近平行的平面靠得太近导致深度值精度不够了,不过这种情况不是简单的“遮挡错误”的效果。
更多追问追答
追问
在画三角形中间没有把深度测试关掉,我有看过别人做出来的效果图是正常的,而我画的模型只开了材质,没贴纹理,这边开启深度测试,就会发现手显示在衣袖后面,裙摆显示在腿后面,但是换侧面看又好像没错,请问有可能哪个步骤错了?
追答
可能性太多了了,不过有一个可能性比较大的是你画一半把zbuffer清了... 深度信息是直接用定点z值线性插入获得的,和怎么渲染像素没关系。
上海华然企业咨询
2024-10-28 广告
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步...
点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询