| 267 | } |
| 268 | |
| 269 | bool LightShadowMap::setTextureStage( U32 currTexFlag, LightingShaderConstants* lsc ) |
| 270 | { |
| 271 | if ( currTexFlag == Material::DynamicLight && !isDynamic() ) |
| 272 | { |
| 273 | S32 reg = lsc->mShadowMapSC->getSamplerRegister(); |
| 274 | |
| 275 | if ( reg != -1 ) |
| 276 | GFX->setTexture( reg, mShadowMapTex); |
| 277 | |
| 278 | return true; |
| 279 | } else if ( currTexFlag == Material::DynamicShadowMap && isDynamic() ) |
| 280 | { |
| 281 | S32 reg = lsc->mDynamicShadowMapSC->getSamplerRegister(); |
| 282 | |
| 283 | if ( reg != -1 ) |
| 284 | GFX->setTexture( reg, mShadowMapTex); |
| 285 | |
| 286 | return true; |
| 287 | } |
| 288 | else if ( currTexFlag == Material::DynamicLightMask ) |
| 289 | { |
| 290 | S32 reg = lsc->mCookieMapSC->getSamplerRegister(); |
| 291 | if ( reg != -1 ) |
| 292 | { |
| 293 | ShadowMapParams *p = mLight->getExtended<ShadowMapParams>(); |
| 294 | |
| 295 | if ( lsc->mCookieMapSC->getType() == GFXSCT_SamplerCube ) |
| 296 | GFX->setCubeTexture( reg, p->getCookieCubeTex() ); |
| 297 | else |
| 298 | GFX->setTexture( reg, p->getCookieTex() ); |
| 299 | } |
| 300 | |
| 301 | return true; |
| 302 | } |
| 303 | |
| 304 | return false; |
| 305 | } |
| 306 | |
| 307 | void LightShadowMap::render(RenderPassManager* renderPass, |
| 308 | const SceneRenderState *diffuseState, |
no test coverage detected