好久没写技术的东西了。现在辗转间又回到了深圳工作,还是做我喜欢的游戏开发。奉献点东西给大家。
1、创建渲染目标纹理,关键要指定TU_RENDERTARGET参数,在创建这个渲染目标纹理的过程中,Ogre会自动调用 Root::getSingleton().getRenderSystem()->attachRenderTarget把这个纹理添加到Root的渲染目标中,也就是说每帧都会渲染到这个纹理。
TexturePtr texture = TextureManager::getSingleton().createManual( "RttTex",
ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, TEX_TYPE_2D,
512, 512, 0, PF_R8G8B8, TU_RENDERTARGET );
2、获得渲染目标,有了渲染目标,才能给目标指定视口和摄像机
RenderTarget *rttTex = texture->getBuffer()->getRenderTarget();
3、给这个渲染目标指定摄像机,做了这步骤之后,每帧更新时就会把这个摄像机看到的东西渲染到texture中
Viewport *v = rttTex->addViewport( mReflectCam );
4、OK!
如果本文对你的开发有所帮助,并且你手头恰好有零钱。
不如打赏我一杯咖啡,鼓励我继续分享优秀的文章。