显示背影与背面剔除相互冲突问题

近期开发产品遇到的问题:

有一个三维模型渲染时玻璃显示一条一条的横线,matcap材质,经调研发现是因为渲染三角面片时未开启背面期初导致,具体为什么需要开启背面剔除不太清楚;

后来发现开启背面剔除后再开启阴影,会导致整体变成灰色或者其他渲染不正确,经调研发现,渲染阴影时也开启了背面剔除,同时设置背面剔除为剔除前面,具体代码为

GL.enable(GL_CULL_FACE);
GL.cullFace(GL_FRONT);

渲染三角面片时,只是开启了背面剔除,所以显示不正确,最后解决方案:渲染三角面片时开启背面剔除并设置为BACK

GL.enable(GL_CULL_FACE);
GL.cullFace(GL_BACK);

 

posted @ 2021-04-14 10:03  软件杨威  阅读(63)  评论(0编辑  收藏  举报