抱歉,我无法正常解释,但希望你能理解。
一般来说,有来自相机的图像并显示在游戏中。同样在 3D 中,相机会创建一个不显示的深度纹理,但它存在并且可以在着色器中访问。
那么是否可以像这样创建自己的纹理?我有一个精灵和一个附加图像,例如法线贴图或反射贴图,我想将其写入该纹理中。然后应该在着色器中访问该纹理,就像对深度缓冲区所做的那样。
换句话说,相机应该渲染图像(这将是这个纹理),但在对象上使用其他着色器。或者如果可能的话还有其他方法
不是直接的,但是是的,这是可能的。
问题是深度缓冲区没有暴露。您只能从着色器中准备它。这意味着您将需要一种将深度输出为颜色的材质。您需要在辅助视口中使用它。
因此,我们的想法是创建一个带有覆盖内部整个视图的四边形的
SubViewport
参见: