在Panda3D中,我有以下代码
self.manager = FilterManager(base.win, base.cam)
self.sceneTex = Texture("scene")
self.depthTex = Texture("depth")
self.quad = self.manager.renderSceneInto(colortex=self.sceneTex, depthtex = self.depthTex)
...
当我运行上面的并启用视图缓冲区(show buffers#t)时,“sceneTex”纹理看起来是正确的。然而,“depthTex”总是空白(全黑),无论我把相机移到哪里。有人知道怎么回事吗?在
谢谢
也许你已经禁用了深度测试写作?即使您可能没有得到任何明显的瑕疵(取决于您的场景),您也可以在没有深度缓冲的情况下运行。看看panda tutorial about depth buffer writing它还告诉你一些场景可以更好地进行深度排序(你也许测试过这个,但没有还原深度缓冲区禁用代码?)在
我也遇到了同样的问题。我必须创建一个自定义着色器来提取深度。因为我需要超过8位的深度信息,我不得不将深度转换成3个8位的字段,这些字段可以放入图像的RGB组件中。在
在Panda3D Python中:
还需要设置着色器输入和输出(即vtx_position、mat_modelproj等)。请参阅Panda3D文档中的示例。在
在Dcam.sha公司公司名称:
^{pr2}$相关问题 更多 >
编程相关推荐