|
楼主 |
发表于 2010-4-29 10:36:27
|
显示全部楼层
这个例子不是6个相机渲染6个面到cubemap,然后中间反射球根据自动生成反射纹理坐标,检索cubemap贴纹理么。我理解的对么?
1。 下面的position是固定的吧,也就是localOffset固定的。就是这个worldToLocal随主相机变化而变化,从相机是绝对坐标系,就朝着6个方向固定渲染不就好了,跟主相机有啥关系?
osg::Matrixd worldToLocal = osg::computeWorldToLocal(_reflectorNodePath);
osg::BoundingSphere bs = _reflectorNodePath.back()->getBound();
osg::Vec3 position = bs.center();
osg::Matrix localOffset;
localOffset.makeLookAt(position,position+id[i].first,id[i].second);
osg::Matrix viewMatrix = worldToLocal*localOffset;
_Cameras[i]->setViewMatrix(viewMatrix);
2。我知道是在更新纹理坐标矩阵,而且是做ModelViewMatrix的旋转逆旋转,我意思是问做这个旋转的意义是什么,就是干什么用的? |
|