查看: 2776|回复: 6

天空盒的水面反射

[复制链接]

该用户从未签到

发表于 2010-4-2 12:26:38 | 显示全部楼层 |阅读模式
本帖最后由 csu_zjh 于 2010-4-2 12:39 编辑

1.天空盒子是利用OSGVERTEXPROGRAM中提供的方法做的
2.水面反射效果是根据OPENGL HEIGHTMAP 6 的例子做的,大致过程如下:
场景的镜像根节点为mirNode(需要产生倒影的节点),子节点为房子、树、天空盒等。把mirNode节点利用一个矩阵倒置(位置颠倒)后,添加到一个RTT相机下,然后关联到水面节点的纹理单元0中,作为反射纹理。最后把RTT相机添加到场景的根节点root中。大致代码如下:
//添加镜像
mirNode->addchild(skybox);
mirNode->addchild(tree);
mirNode->addchild(house);
Matrix->addchild(mirNode);//把mirNode添加到位置倒置矩阵节点中
RTTCam->addchild(Matrix);//添加到RTT相机
root->addchild(RTTCam);//添加RTT相机到场景根节点
//向场景中添加模型
root->addchild(skybox); //
root->addchild(tree);//
root->addchild(house);//
问题描述:如果去掉root->addchild(skybox),天空盒子和其他模型的倒影是正常的,加上root->addchild(skybox)后,天空盒子的倒影就不见了,其他模型倒影则正常,但是场景中就缺了天空盒。
求助:有做过水面反射的给指点下迷津,非常感谢!

该用户从未签到

发表于 2010-4-2 16:52:40 | 显示全部楼层
天空盒也像树、房子一样,是一个模型啊,怎么会不见了呢?
可能找到它与其它模型用法不一样的地方,就能解决问题了,呵呵

该用户从未签到

 楼主| 发表于 2010-4-2 18:17:48 | 显示全部楼层
本帖最后由 csu_zjh 于 2010-4-28 15:34 编辑

问题已经解决了

该用户从未签到

发表于 2010-7-16 09:44:58 | 显示全部楼层
我现在也正在做水面反射效果,就是找不到相关的参考资料,能把OPENGL HEIGHTMAP 6 的例子发下给我嘛,邮箱:qiuping1234@126.com
非常感谢!!!

该用户从未签到

 楼主| 发表于 2010-7-16 11:32:17 | 显示全部楼层
csdn上就有的。。。

该用户从未签到

发表于 2010-7-19 14:06:14 | 显示全部楼层
嗯,谢谢

该用户从未签到

发表于 2011-9-1 16:19:59 | 显示全部楼层
回复 6# MoonLight


    请问这个OPENGL HEIGHTMAP 6例子你们有没有下到,我在csdn上怎么没有找到
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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