Use shader data for get sampler register in CloudLayer and BasicClouds.

This commit is contained in:
LuisAntonRebollo 2014-04-17 14:18:58 +02:00
parent 2142d452d4
commit cb8b8b7316
4 changed files with 6 additions and 2 deletions

View file

@ -129,6 +129,7 @@ bool BasicClouds::onAdd()
mTexScaleSC = mShader->getShaderConstHandle( "$texScale" );
mTexDirectionSC = mShader->getShaderConstHandle( "$texDirection" );
mTexOffsetSC = mShader->getShaderConstHandle( "$texOffset" );
mDiffuseMapSC = mShader->getShaderConstHandle( "$diffuseMap" );
// Create StateBlocks
GFXStateBlockDesc desc;
@ -312,7 +313,7 @@ void BasicClouds::renderObject( ObjectRenderInst *ri, SceneRenderState *state, B
mShaderConsts->setSafe( mTexDirectionSC, mTexDirection[i] * mTexSpeed[i] );
mShaderConsts->setSafe( mTexOffsetSC, mTexOffset[i] );
GFX->setTexture( 0, mTexture[i] );
GFX->setTexture( mDiffuseMapSC->getSamplerRegister(), mTexture[i] );
GFX->setVertexBuffer( mVB[i] );
GFX->drawIndexedPrimitive( GFXTriangleList, 0, 0, smVertCount, 0, smTriangleCount );

View file

@ -103,6 +103,7 @@ protected:
GFXShaderConstHandle *mTexScaleSC;
GFXShaderConstHandle *mTexDirectionSC;
GFXShaderConstHandle *mTexOffsetSC;
GFXShaderConstHandle *mDiffuseMapSC;
GFXVertexBufferHandle<GFXVertexPT> mVB[TEX_COUNT];
GFXPrimitiveBufferHandle mPB;

View file

@ -143,6 +143,7 @@ bool CloudLayer::onAdd()
mCoverageSC = mShader->getShaderConstHandle( "$cloudCoverage" );
mExposureSC = mShader->getShaderConstHandle( "$cloudExposure" );
mBaseColorSC = mShader->getShaderConstHandle( "$cloudBaseColor" );
mNormalHeightMapSC = mShader->getShaderConstHandle( "$normalHeightMap" );
// Create StateBlocks
GFXStateBlockDesc desc;
@ -365,7 +366,7 @@ void CloudLayer::renderObject( ObjectRenderInst *ri, SceneRenderState *state, Ba
mShaderConsts->setSafe( mExposureSC, mExposure );
GFX->setTexture( 0, mTexture );
GFX->setTexture( mNormalHeightMapSC->getSamplerRegister(), mTexture );
GFX->setVertexBuffer( mVB );
GFX->setPrimitiveBuffer( mPB );

View file

@ -110,6 +110,7 @@ protected:
GFXShaderConstHandle *mCoverageSC;
GFXShaderConstHandle *mExposureSC;
GFXShaderConstHandle *mEyePosWorldSC;
GFXShaderConstHandle *mNormalHeightMapSC;
GFXVertexBufferHandle<GFXCloudVertex> mVB;
GFXPrimitiveBufferHandle mPB;