Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: cegui-0.8.7/cegui/src/RendererModules/Ogre/GeometryBuffer.cpp
- IDEA additional info:
- Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
- <+>UTF-8
- ===================================================================
- --- cegui-0.8.7/cegui/src/RendererModules/Ogre/GeometryBuffer.cpp (revision 6f5c3e82eb608c5119a671efe675f6cceedb768e)
- +++ cegui-0.8.7/cegui/src/RendererModules/Ogre/GeometryBuffer.cpp (revision )
- @@ -96,7 +96,7 @@
- // basic initialisation of render op
- rop.vertexData = OGRE_NEW VertexData();
- - rop.operationType = RenderOperation::OT_TRIANGLE_LIST;
- + rop.operationType = OT_TRIANGLE_LIST;
- rop.useIndexes = false;
- // setup vertex declaration for format we will use
- Index: cegui-0.8.7/cegui/src/RendererModules/Ogre/Renderer.cpp
- IDEA additional info:
- Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
- <+>UTF-8
- ===================================================================
- --- cegui-0.8.7/cegui/src/RendererModules/Ogre/Renderer.cpp (revision 6f5c3e82eb608c5119a671efe675f6cceedb768e)
- +++ cegui-0.8.7/cegui/src/RendererModules/Ogre/Renderer.cpp (revision )
- @@ -308,6 +308,8 @@
- const Ogre::HlmsBlendblock* d_hlmsBlendblock;
- //! HLMS block used to set sampling parameters
- const Ogre::HlmsSamplerblock* d_hlmsSamplerblock;
- + //! HLMS cache used to store pso
- + Ogre::SharedPtr<Ogre::HlmsCache> d_hlmsCache;
- #endif
- //! What we think is the current blend mode to use
- BlendMode d_activeBlendMode;
- @@ -988,13 +990,25 @@
- d_pimpl->d_pixelShaderParameters =
- d_pimpl->d_pixelShader->createParameters();
- -}
- +
- +#ifdef CEGUI_USE_OGRE_HLMS
- + d_pimpl->d_hlmsCache = Ogre::SharedPtr<Ogre::HlmsCache>(new Ogre::HlmsCache);
- + d_pimpl->d_hlmsCache->pso.vertexShader = d_pimpl->d_vertexShader;
- + d_pimpl->d_hlmsCache->pso.pixelShader = d_pimpl->d_pixelShader;
- + d_pimpl->d_hlmsCache->pso.blendblock = const_cast<Ogre::HlmsBlendblock*>(d_pimpl->d_hlmsBlendblock);
- + d_pimpl->d_hlmsCache->pso.macroblock = const_cast<Ogre::HlmsMacroblock*>(d_pimpl->d_hlmsMacroblock);
- +#endif
- + }
- //----------------------------------------------------------------------------//
- void OgreRenderer::cleanupShaders()
- {
- #ifdef CEGUI_USE_OGRE_HLMS
- Ogre::HlmsManager* hlmsManager = d_pimpl->d_ogreRoot->getHlmsManager();
- + if (d_pimpl->d_hlmsCache != NULL) {
- + d_pimpl->d_renderSystem->_hlmsPipelineStateObjectDestroyed(&d_pimpl->d_hlmsCache->pso);
- + d_pimpl->d_hlmsCache.setNull();
- + }
- if (d_pimpl->d_hlmsBlendblock != NULL)
- hlmsManager->destroyBlendblock(d_pimpl->d_hlmsBlendblock);
- @@ -1036,10 +1050,7 @@
- d_pimpl->d_activeBlendMode = mode;
- -#ifdef CEGUI_USE_OGRE_HLMS
- - // Apply the HLMS blend block to the render system
- - d_pimpl->d_renderSystem->_setHlmsBlendblock(d_pimpl->d_hlmsBlendblock);
- -#else
- +#ifndef CEGUI_USE_OGRE_HLMS
- if (d_pimpl->d_activeBlendMode == BM_RTT_PREMULTIPLIED)
- d_pimpl->d_renderSystem->_setSceneBlending(SBF_ONE,
- SBF_ONE_MINUS_SOURCE_ALPHA);
- @@ -1076,10 +1087,7 @@
- using namespace Ogre;
- // initialise render settings
- -#ifdef CEGUI_USE_OGRE_HLMS
- - // Apply the HLMS macro block to the render system
- - d_pimpl->d_renderSystem->_setHlmsMacroblock(d_pimpl->d_hlmsMacroblock);
- -#else
- +#ifndef CEGUI_USE_OGRE_HLMS
- d_pimpl->d_renderSystem->setLightingEnabled(false);
- d_pimpl->d_renderSystem->_setDepthBufferParams(false, false);
- d_pimpl->d_renderSystem->_setDepthBias(0, 0);
- @@ -1108,10 +1116,8 @@
- if (isUsingShaders())
- {
- #ifdef CEGUI_USE_OGRE_HLMS
- - Ogre::HlmsCache hlmsCache;
- - hlmsCache.vertexShader = d_pimpl->d_vertexShader;
- - hlmsCache.pixelShader = d_pimpl->d_pixelShader;
- - d_pimpl->d_renderSystem->_setProgramsFromHlms(&hlmsCache);
- + d_pimpl->d_renderSystem->_hlmsPipelineStateObjectCreated(&d_pimpl->d_hlmsCache->pso);
- + d_pimpl->d_renderSystem->_setPipelineStateObject(&d_pimpl->d_hlmsCache->pso);
- #else
- if (Ogre::GpuProgram* prog = d_pimpl->d_vertexShader->_getBindingDelegate())
- d_pimpl->d_renderSystem->bindGpuProgram(prog);
- @@ -1122,8 +1128,12 @@
- }
- else
- {
- +#ifdef CEGUI_USE_OGRE_HLMS
- + d_pimpl->d_renderSystem->_setPipelineStateObject( 0 );
- +#else
- d_pimpl->d_renderSystem->unbindGpuProgram(Ogre::GPT_VERTEX_PROGRAM);
- d_pimpl->d_renderSystem->unbindGpuProgram(Ogre::GPT_FRAGMENT_PROGRAM);
- +#endif
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement