aboutsummaryrefslogtreecommitdiff
path: root/mp/src/materialsystem/stdshaders/BaseVSShader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/materialsystem/stdshaders/BaseVSShader.cpp')
-rw-r--r--mp/src/materialsystem/stdshaders/BaseVSShader.cpp15
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];