查看: 3267|回复: 3

渲染到3D贴图

[复制链接]

该用户从未签到

发表于 2008-5-2 11:20:56 | 显示全部楼层 |阅读模式
附件是我写的渲染到3D贴图的一个例子(NV 8系列以上显卡运行),此例子参考了NVIDIA OpenGL SDK 10的Render To Texture 3D的例子,实现方法如下:

创建一个256*256*256 3D贴图
使用256个Camera,3D贴图的每一层使用一个Camera(camera->attach(Camera::COLOR_BUFFER, txt3D.get(), 0, slice, false);)渲染
最后渲染这个3D贴图。

但执行效率非常的低,可能是渲染256个贴图使用了256个Camera的缘故。现在的想法是想将256个Camera合并到一起,然后挂接256个单独的几何体,如下:
Camera(PARENT)
Slice1 Slice2 Slice.... SliceN
但这样的话就需要在渲染每一个Slice的时候控制Camera渲染到3D贴图的哪一层,我试了下在cullCallBack里面访问CullVisitor并得到RenderStage,但我调试的时候并没有发现有用的信息。这应该怎么实现呢,高人是否有些思路呢?先谢谢了~

renderTo3DTextureTestCode.rar

1.24 KB, 下载次数: 150, 下载积分: 威望 1

该用户从未签到

 楼主| 发表于 2008-5-2 20:14:07 | 显示全部楼层
5555,莫非此问题很高深……

该用户从未签到

 楼主| 发表于 2008-5-2 20:39:23 | 显示全部楼层
结果我将编译方式从DEBUG调整到RELEASE,竟然帧数从5FPS提升到了30FPS,太强了……

该用户从未签到

发表于 2008-5-3 01:04:45 | 显示全部楼层
release下对帧指针,内存等进行了大量的优化工作 ~~~~~~~~性能相对debug下,肯定会大大提升~~~~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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