// author: Barnabas Aszodi (BME-IIT) #include "Ogre.h" #include "OgreEffectWrapper.h" #include "ManagedOgreRenderTexturePass.h" #include "CAURenderUmbraPass.h" CAURenderUmbraPass::CAURenderUmbraPass( 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("RenderUmbra"); } void CAURenderUmbraPass::onRenderStart(NameValuePairList* namedParams){ effectWrapper->SetTechniqueToUse(0); effectWrapper->BeginPass(); effectWrapper->SetVertexProgramParameters(); effectWrapper->SetVector3("g_vLightPos3f",g_vLightPos3f); effectWrapper->SetFragmentProgramParameters(); effectWrapper->SetVector3("g_vLightPos3f",g_vLightPos3f); effectWrapper->SetVector3("g_vEntityPos3f",g_vEntityPos3f); } void CAURenderUmbraPass::onRenderEnd(NameValuePairList* namedParams) { effectWrapper->EndPass(); } Vector3 CAURenderUmbraPass::getLightPos3f() { return g_vLightPos3f; } void CAURenderUmbraPass::setLightPos3f( Vector3 vector3 ) { g_vLightPos3f = vector3; } Vector3 CAURenderUmbraPass::getEntityPos3f() { return g_vEntityPos3f; } void CAURenderUmbraPass::setEntityPos3f( Vector3 vector3 ) { g_vEntityPos3f = vector3; }