//------------------------------------------------------------------------------ // setupGenericShaders - This function is totally not needed on PC because there // is fixed-function support in D3D9 //------------------------------------------------------------------------------ inline void GFXD3D9Device::setupGenericShaders( GenericShaderType type /* = GSColor */ ) { #ifdef WANT_TO_SIMULATE_UI_ON_360 if( mGenericShader[GSColor] == NULL ) { mGenericShader[GSColor] = createShader( "shaders/common/genericColorV.hlsl", "shaders/common/genericColorP.hlsl", 2.f ); mGenericShader[GSModColorTexture] = createShader( "shaders/common/genericModColorTextureV.hlsl", "shaders/common/genericModColorTextureP.hlsl", 2.f ); mGenericShader[GSAddColorTexture] = createShader( "shaders/common/genericAddColorTextureV.hlsl", "shaders/common/genericAddColorTextureP.hlsl", 2.f ); } mGenericShader[type]->process(); MatrixF world, view, proj; mWorldMatrix[mWorldStackSize].transposeTo( world ); mViewMatrix.transposeTo( view ); mProjectionMatrix.transposeTo( proj ); mTempMatrix = world * view * proj; setVertexShaderConstF( VC_WORLD_PROJ, (F32 *)&mTempMatrix, 4 ); #else disableShaders(); #endif }
//=========================================================================== void cGenericShader::renderSceneGraph(const int a_renderMode) { if (m_shadingEnabled) enableShaders(); cGenericObject::renderSceneGraph(a_renderMode); if (m_shadingEnabled) disableShaders(); }