着色器运行顺序
顶点着色器(VertexShader)和置换(Displacement)功能是一样 只是顶点着色器(VertexShader)只能控制细分前的顶点 而置换(Displacement)控制的是细分后的顶点 |
|
---|---|
打开置换
⚠️注意:摄像机剪裁
置换和顶点着色器是可以对物体进行变换的,但这些步骤都是在GPU中进行的 而摄像机剪裁是在CPU中进行的
CPU首先运行,然后才是GPU运行 摄像机剪裁比着色器先运行
问题1: 如果物体不在摄像机范围内, 但经过置换和顶点着色器将物体移动到摄像机范围内时 不会背渲染出来 原因: 摄像机已经把物体剔除掉了 解决办法: 扩大物体渲染边界
问题2: 碰撞体是在GPU中计算的, 导致碰撞体和渲染出来的物体位置不一致
由于原本的置换是基于世界空间的, 所以需要乘以顶点法向,让他沿着自身法线方向镜像置换 ⚠️注意:但法线硬边会断开 解决办法: