mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 16:44:36 +00:00
Merge pull request #608 from BeamNG/use_gfxdevice_setupgenericshaders
Use GFXDevice::setupGenericShaders for support non Fixed Fuction Pipelines.
This commit is contained in:
commit
1c95ce21d6
12 changed files with 14 additions and 16 deletions
|
|
@ -214,7 +214,7 @@ void CameraSpline::renderTimeMap()
|
||||||
|
|
||||||
// Render the buffer
|
// Render the buffer
|
||||||
GFX->pushWorldMatrix();
|
GFX->pushWorldMatrix();
|
||||||
GFX->disableShaders();
|
GFX->setupGenericShaders();
|
||||||
GFX->setVertexBuffer(vb);
|
GFX->setVertexBuffer(vb);
|
||||||
GFX->drawPrimitive(GFXLineStrip,0,index);
|
GFX->drawPrimitive(GFXLineStrip,0,index);
|
||||||
GFX->popWorldMatrix();
|
GFX->popWorldMatrix();
|
||||||
|
|
|
||||||
|
|
@ -1666,7 +1666,7 @@ void Precipitation::renderObject(ObjectRenderInst *ri, SceneRenderState *state,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GFX->disableShaders();
|
GFX->setupGenericShaders(GFXDevice::GSTexture);
|
||||||
|
|
||||||
// We don't support distance fade or lighting without shaders.
|
// We don't support distance fade or lighting without shaders.
|
||||||
GFX->setStateBlock(mDistantSB);
|
GFX->setStateBlock(mDistantSB);
|
||||||
|
|
@ -1799,7 +1799,7 @@ void Precipitation::renderObject(ObjectRenderInst *ri, SceneRenderState *state,
|
||||||
GFX->setShaderConstBuffer(mSplashShaderConsts);
|
GFX->setShaderConstBuffer(mSplashShaderConsts);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
GFX->disableShaders();
|
GFX->setupGenericShaders(GFXDevice::GSTexture);
|
||||||
|
|
||||||
while (curr)
|
while (curr)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -780,7 +780,7 @@ void WaterObject::drawUnderwaterFilter( SceneRenderState *state )
|
||||||
GFX->setWorldMatrix( newMat );
|
GFX->setWorldMatrix( newMat );
|
||||||
|
|
||||||
// set up render states
|
// set up render states
|
||||||
GFX->disableShaders();
|
GFX->setupGenericShaders();
|
||||||
GFX->setStateBlock( mUnderwaterSB );
|
GFX->setStateBlock( mUnderwaterSB );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -723,7 +723,7 @@ public:
|
||||||
virtual U32 getNumRenderTargets() const = 0;
|
virtual U32 getNumRenderTargets() const = 0;
|
||||||
|
|
||||||
virtual void setShader( GFXShader *shader ) {}
|
virtual void setShader( GFXShader *shader ) {}
|
||||||
virtual void disableShaders() {}
|
virtual void disableShaders() {} // TODO Remove when T3D 4.0
|
||||||
|
|
||||||
/// Set the buffer! (Actual set happens on the next draw call, just like textures, state blocks, etc)
|
/// Set the buffer! (Actual set happens on the next draw call, just like textures, state blocks, etc)
|
||||||
void setShaderConstBuffer(GFXShaderConstBuffer* buffer);
|
void setShaderConstBuffer(GFXShaderConstBuffer* buffer);
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,6 @@ void FontRenderBatcher::render( F32 rot, const Point2F &offset )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
GFX->setStateBlock(mFontSB);
|
GFX->setStateBlock(mFontSB);
|
||||||
GFX->disableShaders();
|
|
||||||
for(U32 i = 0; i < GFX->getNumSamplers(); i++)
|
for(U32 i = 0; i < GFX->getNumSamplers(); i++)
|
||||||
GFX->setTexture(i, NULL);
|
GFX->setTexture(i, NULL);
|
||||||
|
|
||||||
|
|
@ -177,6 +176,7 @@ void FontRenderBatcher::render( F32 rot, const Point2F &offset )
|
||||||
AssertFatal(currentPt <= mLength * 6, "FontRenderBatcher::render - too many verts for length of string!");
|
AssertFatal(currentPt <= mLength * 6, "FontRenderBatcher::render - too many verts for length of string!");
|
||||||
|
|
||||||
GFX->setVertexBuffer(verts);
|
GFX->setVertexBuffer(verts);
|
||||||
|
GFX->setupGenericShaders( GFXDevice::GSAddColorTexture );
|
||||||
|
|
||||||
// Now do an optimal render!
|
// Now do an optimal render!
|
||||||
for( S32 i = 0; i < mSheets.size(); i++ )
|
for( S32 i = 0; i < mSheets.size(); i++ )
|
||||||
|
|
@ -187,7 +187,6 @@ void FontRenderBatcher::render( F32 rot, const Point2F &offset )
|
||||||
if(!mSheets[i]->numChars )
|
if(!mSheets[i]->numChars )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
GFX->setupGenericShaders( GFXDevice::GSAddColorTexture );
|
|
||||||
GFX->setTexture( 0, mFont->getTextureHandle(i) );
|
GFX->setTexture( 0, mFont->getTextureHandle(i) );
|
||||||
GFX->drawPrimitive(GFXTriangleList, mSheets[i]->startVertex, mSheets[i]->numChars * 2);
|
GFX->drawPrimitive(GFXTriangleList, mSheets[i]->startVertex, mSheets[i]->numChars * 2);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -151,10 +151,9 @@ void DebugDrawer::render()
|
||||||
|
|
||||||
SimTime curTime = Sim::getCurrentTime();
|
SimTime curTime = Sim::getCurrentTime();
|
||||||
|
|
||||||
GFX->disableShaders();
|
|
||||||
|
|
||||||
for(DebugPrim **walk = &mHead; *walk; )
|
for(DebugPrim **walk = &mHead; *walk; )
|
||||||
{
|
{
|
||||||
|
GFX->setupGenericShaders();
|
||||||
DebugPrim *p = *walk;
|
DebugPrim *p = *walk;
|
||||||
|
|
||||||
// Set up the state block...
|
// Set up the state block...
|
||||||
|
|
|
||||||
|
|
@ -245,7 +245,7 @@ void GuiTerrPreviewCtrl::onRender(Point2I offset, const RectI &updateRect)
|
||||||
for(U32 i = 0; i < GFX->getNumSamplers(); i++)
|
for(U32 i = 0; i < GFX->getNumSamplers(); i++)
|
||||||
GFX->setTexture(i, NULL);
|
GFX->setTexture(i, NULL);
|
||||||
|
|
||||||
GFX->disableShaders();
|
GFX->setupGenericShaders(GFXDevice::GSModColorTexture);
|
||||||
|
|
||||||
Point2F terrPos(terrBlock->getPosition().x, terrBlock->getPosition().y);
|
Point2F terrPos(terrBlock->getPosition().x, terrBlock->getPosition().y);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -331,7 +331,7 @@ void BlobShadow::render( F32 camDist, const TSRenderState &rdata )
|
||||||
world.mul(mLightToWorld);
|
world.mul(mLightToWorld);
|
||||||
GFX->setWorldMatrix(world);
|
GFX->setWorldMatrix(world);
|
||||||
|
|
||||||
GFX->disableShaders();
|
GFX->setupGenericShaders(GFXDevice::GSModColorTexture);
|
||||||
|
|
||||||
GFX->setStateBlock(mShadowSB);
|
GFX->setStateBlock(mShadowSB);
|
||||||
GFX->setTexture(0, smGenericShadowTexture);
|
GFX->setTexture(0, smGenericShadowTexture);
|
||||||
|
|
|
||||||
|
|
@ -273,7 +273,7 @@ bool ProcessedCustomMaterial::setupPass( SceneRenderState *state, const SceneDat
|
||||||
if ( rpd->shader )
|
if ( rpd->shader )
|
||||||
GFX->setShader( rpd->shader );
|
GFX->setShader( rpd->shader );
|
||||||
else
|
else
|
||||||
GFX->disableShaders();
|
GFX->setupGenericShaders();
|
||||||
|
|
||||||
// Set our textures
|
// Set our textures
|
||||||
setTextureStages( state, sgData, pass );
|
setTextureStages( state, sgData, pass );
|
||||||
|
|
|
||||||
|
|
@ -689,7 +689,7 @@ bool ProcessedShaderMaterial::setupPass( SceneRenderState *state, const SceneDat
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GFX->disableShaders();
|
GFX->setupGenericShaders();
|
||||||
GFX->setShaderConstBuffer(NULL);
|
GFX->setShaderConstBuffer(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1215,7 +1215,7 @@ void PostEffect::process( const SceneRenderState *state,
|
||||||
GFX->setShaderConstBuffer( mShaderConsts );
|
GFX->setShaderConstBuffer( mShaderConsts );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
GFX->disableShaders();
|
GFX->setupGenericShaders();
|
||||||
|
|
||||||
Frustum frustum;
|
Frustum frustum;
|
||||||
if ( state )
|
if ( state )
|
||||||
|
|
|
||||||
|
|
@ -255,7 +255,7 @@ void RenderPassManager::render(SceneRenderState * state)
|
||||||
GFX->setProjectionMatrix( proj );
|
GFX->setProjectionMatrix( proj );
|
||||||
|
|
||||||
// Restore a clean state for subsequent rendering.
|
// Restore a clean state for subsequent rendering.
|
||||||
GFX->disableShaders();
|
GFX->setupGenericShaders();
|
||||||
for(S32 i = 0; i < GFX->getNumSamplers(); ++i)
|
for(S32 i = 0; i < GFX->getNumSamplers(); ++i)
|
||||||
GFX->setTexture(i, NULL);
|
GFX->setTexture(i, NULL);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue