diff options
Diffstat (limited to 'mp/src/materialsystem/stdshaders/BaseVSShader.cpp')
| -rw-r--r-- | mp/src/materialsystem/stdshaders/BaseVSShader.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/mp/src/materialsystem/stdshaders/BaseVSShader.cpp b/mp/src/materialsystem/stdshaders/BaseVSShader.cpp index 40e3934b..fdaeb563 100644 --- a/mp/src/materialsystem/stdshaders/BaseVSShader.cpp +++ b/mp/src/materialsystem/stdshaders/BaseVSShader.cpp @@ -458,6 +458,21 @@ void CBaseVSShader::SetPixelShaderTextureScaledTransform( int pixelReg, int tran //----------------------------------------------------------------------------- // Moves a matrix into vertex shader constants //----------------------------------------------------------------------------- +void CBaseVSShader::SetVertexShaderMatrix2x4( int vertexReg, int matrixVar ) +{ + IMaterialVar* pTranslationVar = s_ppParams[ matrixVar ]; + if ( pTranslationVar ) + { + s_pShaderAPI->SetVertexShaderConstant( vertexReg, &pTranslationVar->GetMatrixValue()[ 0 ][ 0 ], 2 ); + } + else + { + VMatrix matrix; + MatrixSetIdentity( matrix ); + s_pShaderAPI->SetVertexShaderConstant( vertexReg, &matrix[ 0 ][ 0 ], 2 ); + } +} + void CBaseVSShader::SetVertexShaderMatrix3x4( int vertexReg, int matrixVar ) { IMaterialVar* pTranslationVar = s_ppParams[matrixVar]; |