| 291 | } |
| 292 | |
| 293 | bool TerrainBlock::_initBaseShader() |
| 294 | { |
| 295 | ShaderData *shaderData = NULL; |
| 296 | if ( !Sim::findObject( "TerrainBlendShader", shaderData ) || !shaderData ) |
| 297 | return false; |
| 298 | |
| 299 | mBaseShader = shaderData->getShader(); |
| 300 | |
| 301 | mBaseShaderConsts = mBaseShader->allocConstBuffer(); |
| 302 | mBaseTexScaleConst = mBaseShader->getShaderConstHandle( "$texScale" ); |
| 303 | mBaseTexIdConst = mBaseShader->getShaderConstHandle( "$texId" ); |
| 304 | mBaseLayerSizeConst = mBaseShader->getShaderConstHandle( "$layerSize" ); |
| 305 | |
| 306 | mBaseTarget = GFX->allocRenderToTextureTarget(); |
| 307 | |
| 308 | GFXStateBlockDesc desc; |
| 309 | desc.samplersDefined = true; |
| 310 | desc.samplers[0] = GFXSamplerStateDesc::getClampPoint(); |
| 311 | desc.samplers[1] = GFXSamplerStateDesc::getWrapLinear(); |
| 312 | desc.zDefined = true; |
| 313 | desc.zWriteEnable = false; |
| 314 | desc.zEnable = false; |
| 315 | desc.setBlend( true, GFXBlendSrcAlpha, GFXBlendOne ); |
| 316 | desc.cullDefined = true; |
| 317 | desc.cullMode = GFXCullNone; |
| 318 | desc.colorWriteAlpha = false; |
| 319 | mBaseShaderSB = GFX->createStateBlock( desc ); |
| 320 | |
| 321 | return true; |
| 322 | } |
| 323 | |
| 324 | void TerrainBlock::_updateBaseTexture(bool writeToCache) |
| 325 | { |
nothing calls this directly
no test coverage detected