OGRE RTT笔记
来源:互联网 发布:深圳婚纱摄影 知乎 编辑:程序博客网 时间:2024/05/17 02:25
开发环境
ogre 1.71
教程
Intermediate Tutorial 7 Render to texture (RTT)
http://www.ogre3d.org/tikiwiki/Intermediate+Tutorial+7&structure=Tutorials
关键代码:
//! 创建渲染纹理
Ogre::TexturePtr rtt_texture = Ogre::TextureManager::getSingleton().createManual("RttTex", Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, Ogre::TEX_TYPE_2D, mWindow->getWidth(), mWindow->getHeight(), 0, Ogre::PF_R8G8B8, Ogre::TU_RENDERTARGET);
Ogre::RenderTexture *renderTexture = rtt_texture->getBuffer()->getRenderTarget();
renderTexture->addViewport(mCamera);
renderTexture->getViewport(0)->setClearEveryFrame(true);
renderTexture->getViewport(0)->setBackgroundColour(Ogre::ColourValue::Blue);
renderTexture->getViewport(0)->setOverlaysEnabled(false);
renderTexture->addListener(this);
//! 创建材质
Ogre::MaterialPtr renderMaterial = Ogre::MaterialManager::getSingleton().create("RttMat", Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
Ogre::Technique* matTechnique = renderMaterial->createTechnique();
matTechnique->createPass();
renderMaterial->getTechnique(0)->getPass(0)->setLightingEnabled(false);
renderMaterial->getTechnique(0)->getPass(0)->createTextureUnitState("RttTex");
//! 创建矩形
mMiniScreen = OGRE_NEW Ogre::Rectangle2D(true);
mMiniScreen->setCorners(0.5f, -0.5f, 1.0f, -1.0f);
mMiniScreen->setBoundingBox(Ogre::AxisAlignedBox(-100000.0f * Ogre::Vector3::UNIT_SCALE, 100000.0f * Ogre::Vector3::UNIT_SCALE));
mMiniScreen->setMaterial("RttMat");
//! 创建节点
Ogre::SceneNode* miniScreenNode = mSceneMgr->getRootSceneNode()->createChildSceneNode("MiniScreenNode");
miniScreenNode->attachObject(mMiniScreen);
漫谈
-------------------------------------
RTT主要用在效果展现时与shaders混合使用,例如模糊效果。发明RTT的想法很简单,将渲染结果存成原始数据还不如保存成纹理,保存成纹理后直接交给GPU处理。
这里是创建的一个OGRE矩形展现纹理,之前也介绍过创建一个CEGUI窗口展现矩形,似乎不与特定的窗口相关,既然渲染到纹理了,想如何处理都可以。
- OGRE RTT笔记
- Use ogre rtt in cegui 0.8
- RTT学习笔记之定时器
- RTT学习笔记之信号量
- RTT学习笔记之事件
- RTT
- rtt
- OGRE中级教程七 Render to texture (RTT)
- rtt学习笔记一:rtt的软件结构
- OGRE笔记
- ogre笔记
- OGRE笔记
- OGRE笔记
- Ogre笔记
- (OGRE菜鸟之旅)二、OGRE中级教程七(RTT)随笔
- rtt学习笔记二:I/O设备管理
- RTT学习笔记之内核对象模型
- 从OGRE纹理到CEGUI纹理 —— 使用RTT实现3D角色预览
- Video4Linux2 part 3: Basic ioctl() handling
- 在嵌入式X系统中Xfbdev鼠标移动方向正好相反的问题。
- 关于UrlRewrite与struts2.x结合
- 摘录:类设计者的核查表
- HDOJ-2501-Tiling_easy version
- OGRE RTT笔记
- sed字符串对象【查找】
- vs2010 可视化设计的一点小问题
- Java中数据的输入问题
- 多边形三角形镶嵌算法的一些资料
- C# C/S程序请求网页地址,并获取返回数据代码
- 原创:oracle完整版安装图解 (一)
- siobject brower
- 隐藏title栏