// author: Barnabas Aszodi (BME-IIT) #include "Ogre.h" #include "OgreEffectWrapper.h" #include "ManagedOgreRenderTexturePass.h" #include "CAURenderColorDistanceCubeMapPass.h" CAURenderColorDistanceCubeMapPass::CAURenderColorDistanceCubeMapPass( Root* mRoot,const String& renderTextureName,unsigned int width,unsigned int height, TextureType texType, PixelFormat internalFormat, const NameValuePairList *miscParams, bool fullScreenQuadRenderer):ManagedOgreRenderTexturePass(mRoot,renderTextureName,width,height,texType,internalFormat,miscParams,fullScreenQuadRenderer) { effectWrapper->createMaterial("RenderRoomColorDistance"); } void CAURenderColorDistanceCubeMapPass::onRenderStart(NameValuePairList* namedParams){ effectWrapper->SetTechniqueToUse(0); effectWrapper->BeginPass(); effectWrapper->SetVertexProgramParameters(); effectWrapper->SetMatrix("g_mWorldViewProj",g_mWorldViewProj); effectWrapper->SetMatrix("g_mWorldView",g_mWorldView); effectWrapper->SetVector3("g_vLightPos3f",g_vLightPos3f); } void CAURenderColorDistanceCubeMapPass::onRenderEnd(NameValuePairList* namedParams) { effectWrapper->EndPass(); } Matrix4 CAURenderColorDistanceCubeMapPass::getWorldView() { return g_mWorldView; } void CAURenderColorDistanceCubeMapPass::setWorldView( Matrix4 matrix4 ) { g_mWorldView = matrix4; } Matrix4 CAURenderColorDistanceCubeMapPass::getWorldViewProj() { return g_mWorldViewProj; } void CAURenderColorDistanceCubeMapPass::setWorldViewProj( Matrix4 matrix4 ) { g_mWorldViewProj = matrix4; } Vector3 CAURenderColorDistanceCubeMapPass::getLightPos3f() { return g_vLightPos3f; } void CAURenderColorDistanceCubeMapPass::setLightPos3f( Vector3 v ) { g_vLightPos3f = v; }