原因:当开启对数深度缓存区、使深度的计算精确度提升,可以解决z-fight产生的深度冲突,但着色器的深度并没有更新,因此也会干扰着色器的正常深度展示,
解决:在着色器的顶点着色器与片元着色器中里进行深度更新
THREE.ShaderChunk.logdepthbuf_pars_vertex,
//顶点着色器变量
bool isPerspectiveMatrix(mat4) {
return true;
}
void main(){
//顶点着色器代码..
THREE.ShaderChunk.logdepthbuf_vertex,
}
-------------------------------------------
THREE.ShaderChunk.logdepthbuf_pars_fragment
//片元着色器变量
void main(){
//片元着色器代码
THREE.ShaderChunk.logdepthbuf_fragment
}