查看: 1029|回复: 1

请教:用两个Rtt相机渲染到同一个纹理对象,深度应该怎么处理

[复制链接]

该用户从未签到

发表于 2013-6-19 11:10:17 | 显示全部楼层 |阅读模式
用两个Rtt相机渲染到同一个纹理对象,深度应该怎么处理,修改了osgexample里面的prerender例子,场景结构如下:
           | new texture2D texture
root--- |-camera0  prerender, clearmask(color|depth),attach COLOR_BUFFER to texture,   DO_NOT_COMPUTE_NEAR_FAR
           |-camera1  prerender, clearmask(0), attach COLOR_BUFFER to the same texture,  DO_NOT_COMPUTE_NEAR_FAR
           |-geode,   use the prerendered texture2D by camera0 and camera1 as texture unit 0.
第一个rtt相机渲染了飞机,第二个rtt相机渲染了牛,加了深度测试和深度写,但是效果始终不对,后一个相机渲染的内容会覆盖前一个相机渲染的内容,并没有进行深度测试。
请问:这种情况下,深度应该怎么处理呢?

完整代码在附件 osgprerender.cpp (10.4 KB, 下载次数: 1)

该用户从未签到

发表于 2013-6-19 22:11:21 | 显示全部楼层
您的意思是您把同一个纹理同时用作两个RTT的Target?不允许这么做,您可以考虑用两个纹理作为Quad的两个纹理通道的输入,然后再用TexEnv合并
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表