Articles of ogre

使用Ogre将合成材质渲染到纹理中

我正在尝试使用RTT渲染深度缓冲区,然后将其传递给合成器,然后渲染全屏四元组。 但是我没有得到任何深度的纹理 所以我将深度渲染到纹理中,然后在像素着色器中使用此纹理,然后使用它进行一些处理,然后将其渲染到全屏幕四边形 这是我的代码 // Create the depth render texture Ogre::TexturePtr depthTexture = Ogre::TextureManager::getSingleton().createManual( "DepthMap", Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, Ogre::TEX_TYPE_2D, mOgreCamera->getViewport()->getActualWidth(), mOgreCamera->getViewport()->getActualHeight(), 0, Ogre::PF_FLOAT16_R, Ogre::TU_RENDERTARGET); Ogre::MaterialPtr material = Ogre::MaterialManager::getSingleton().getByName("Ogre/Compositor/SSAO"); material->getTechnique(0)->getPass(0)->getTextureUnitState(0)->setTextureName("DepthMap"); // material->getTechnique(0)->getPass(0)->setVertexProgram( "SSAO_vs" ); // material->getTechnique(0)->getPass(0)->setFragmentProgram( "SSAO_fs" ); //material->load(); Ogre::RenderTexture* renderTexture = depthTexture->getBuffer()->getRenderTarget(); renderTexture->addViewport(mOgreCamera); renderTexture->getViewport(0)->setClearEveryFrame(true); renderTexture->getViewport(0)->setBackgroundColour(Ogre::ColourValue( 0.8f, 0.8f, 0.8f )); renderTexture->getViewport(0)->setOverlaysEnabled(false); and that's the compositor compositor DepthMap { […]

食人魔渲染线完全错误

我试图使用三角形的索引渲染线列表如下 float *vertices = static_cast<float *>(vertexBuffer->lock(Ogre::HardwareBuffer::HBL_DISCARD)); for (int i = 0; i < out.numberofpoints; i++) { vertices[(i*3)] = out.pointlist[(i*3)]; vertices[(i*3)+1] = out.pointlist[(3*i)+1]; vertices[(i*3) + 2] = out.pointlist[(3*i)+2]; } vertexBuffer->unlock(); uint16_t *indices = static_cast<uint16_t *>(indexBuffer->lock(Ogre::HardwareBuffer::HBL_DISCARD)); int l, t; int numTriangles = out.numberoftrifaces*3*sizeof(uint16_t); for (l = 0, t = 0; t<numTriangles; t += 3) { // Each […]

什么是运动球的最好的宽相界面?

到目前为止,我正在努力优化物理和碰撞的性能,到目前为止,我的主电脑还有一些其他电脑正在减速。 我拥有超过3000个btSphereShape Rigidbodies,其中2/3根本不动,但我注意到(通过下面的轮廓)碰撞正在花费一些时间来操纵。 Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls ms/call ms/call name 10.09 0.65 0.65 SphereTriangleDetector::collide(btVector3 const&, btVector3&, btVector3&, float&, float&, float) 7.61 1.14 0.49 btSphereTriangleCollisionAlgorithm::processCollision(btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*) 5.59 1.50 0.36 btConvexTriangleCallback::processTriangle(btVector3*, int, int) 5.43 1.85 0.35 btQuantizedBvh::reportAabbOverlappingNodex(btNodeOverlapCallback*, btVector3 const&, btVector3 const&) const 4.97 […]

应用程序崩溃与Ogre :: ItemIdentityException

我是OGRE的新手,我正尝试使用以下教程创建一个3D行: http ://www.ogre3d.org/tikiwiki/Line+3D和应用程序崩溃与以下exceptionOgre :: ItemIdentityException。

我如何将纹理应用到使用Ogre程序几何库创建的柱面?

我正在使用Procedural :: CatmullRomSpline3在3个控制点之间创建圆柱体,现在而不是实体圆柱体,我需要创建虚线/点圆柱体,所以是否有直接的方法来做到这一点,或者我必须做出所需的纹理,并将它们添加到圆柱体,我怎么能做到这一点?

无法加载dynamic库。\ RenderSystem_GL_d。 系统错误:%1不是有效的Win32应用程序

我从ogre3d.org/download/sdk和Ogre_VC10_Express_AppWizard_1.8.0.exe使用OGRE 1.8.1 SDK for Visual C ++ 2010(32位),从https://bitbucket.org/ogreaddons/ogreappwizards/downloads下载Ogre_VC10_Express_AppWizard_1.8.0.exe。 成功构建后,当我runnin应用程序,我得到以下错误: OGRE EXCEPTION(7:InternalErrorException):无法加载dynamic库。\ RenderSystem_GL_d。 系统错误:%1不是有效的Win32应用程序。 在DynLib :: load在…….. \ OgreMain \ src \ OgreDynLib.cpp(第93行) 在我看来,有一些32位/ 64位DLL的不匹配,但重新安装DirectX没有解决问题。 我是OGRE的新手,在此引导我,并使用Windows 8(64位)和Microsoft Visual C ++ 2010 Express。 编辑:我尝试安装SDK,并直接运行SampleBrowser(不使用应用程序向导),但同样的错误再次发生(建立成功)。

我将如何设置BulletPhysics的环境variables?

我正在使用子弹物理 v2.78。 我试图建立这个库用于ogrebullet 。 主要的问题是,我得到错误,试图find子弹目录。 林想知道如果也许我的环境variables设置错误。 我正在使用Windows Vista 32位,这里是我的环境variables: BULLET_ROOT:C:\ BulletPhys BULLET_INCLUDE_DIR:C:\ BulletPhys \ src 作为其他信息,我正在尝试在cMake中构建这些库。 子弹物理学建立完美,但ogrebullet无法find需要configuration的库(dynamic,碰撞,LinearMath等) 所以我的问题是:我将如何设置环境variables,所以ogrebullet可以find他们? 如果需要其他信息,我会根据要求提供。 谢谢 -Molma

使用OgreAppWizard编译Ogre3d应用程序

我用ogreappwizard创建了一个食人魔应用程序。 当我尝试编译解决scheme时,出现一个错误,提示Parameter "basePath" cannot be a relative path. 。 我遵循所有的说明 ,并尝试重新安装Ogre SDK和应用程序向导。 我在这里失去了我的头。 到底是怎么回事?

哪个工具包用于3D MMO游戏开发?

最近我一直在想要开发一个3D在线游戏的path。 我已经GOOGLE了很多,但我无法find一个很好的文章,同时涵盖游戏开发和在线服务器和客户端开发。 这个问题已经在大约2个星期的时间了。 所以..昨天我开始从头开始使用Irrlicht.Net Wrapper来使用.NET的Socket库,这已经很熟悉了。 但是我发现Irrlicht的networking包装还没有完全完成,仍然缺乏原创性。 所以我失去了所有的动机: 所以我想,为什么不碰到另外一个死胡同呢? 什么游戏引擎和networking库是3D MMO开发的最佳途径? 以下是我的一些早期结论:请让我知道我错了。 C ++: 三维graphics的最佳性能。 大多数游戏引擎都有本地的C ++库。 缺乏一个坚实的套接字库 .NETC ++缺乏智能感知支持。 C#: 智能感知支持 NET套接字库 缺乏3Dgraphics性能 缺乏固有的3D游戏引擎

如何用boost来构建Ogre3d?

我有一个简单的问题。 对于那些从源头上认识和构建ogre3D作为静态库的人,库链接的顺序是什么? 我需要组织的图书馆是: Ogre插件 'libOgreMain.a' 食人魔RenderSystems 提升(版本1.47) 链接 食人魔的依赖 我问的原因是因为在Ogre论坛上,我询问了这个问题,但没有得到很好的答复。 另一个原因是因为即使我链接到boost库,我得到这个错误: undefined reference to '_imp___ZN5boost6thread20hardware_concurrencyEv' 我的编译器是以CodeBlocks作为IDE的MinGW。 而我的主要计算机是Windows Vista 32位。