Created
November 16, 2013 17:01
-
-
Save defHLT/7502522 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 0ddd6bc0493696f388c86f758763ff312b844afd Mon Sep 17 00:00:00 2001 | |
From: Josh Handley <[email protected]> | |
Date: Tue, 16 Jul 2013 08:09:57 -0400 | |
Subject: [PATCH] Added UNIFORM_WORLD_VIEW uniform to MOAIShader which is bound | |
to worldView matrix (worldViewProj without projection) | |
Signed-off-by: Josh Handley <[email protected]> | |
--- | |
src/moai-sim/MOAIShader.cpp | 13 ++++++++++++- | |
src/moai-sim/MOAIShader.h | 2 ++ | |
2 files changed, 14 insertions(+), 1 deletion(-) | |
diff --git a/src/moai-sim/MOAIShader.cpp b/src/moai-sim/MOAIShader.cpp | |
index 9a95fa0..7798b49 100644 | |
--- a/src/moai-sim/MOAIShader.cpp | |
+++ b/src/moai-sim/MOAIShader.cpp | |
@@ -69,6 +69,7 @@ void MOAIShaderUniform::Bind () { | |
case UNIFORM_VIEW_PROJ: | |
case UNIFORM_WORLD: | |
case UNIFORM_WORLD_VIEW_PROJ: | |
+ case UNIFORM_WORLD_VIEW: | |
case UNIFORM_TRANSFORM: | |
zglUniformMatrix4fv ( this->mAddr, 1, false, this->mBuffer ); | |
break; | |
@@ -106,6 +107,14 @@ void MOAIShaderUniform::BindPipelineTransforms ( const ZLMatrix4x4& world, const | |
this->Bind (); | |
break; | |
} | |
+ case UNIFORM_WORLD_VIEW: { | |
+ | |
+ ZLMatrix4x4 mtx = world; | |
+ mtx.Append ( view ); | |
+ this->SetValue ( mtx ); | |
+ this->Bind (); | |
+ break; | |
+ } | |
case UNIFORM_WORLD_VIEW_PROJ: { | |
ZLMatrix4x4 mtx = world; | |
@@ -172,6 +181,7 @@ void MOAIShaderUniform::SetType ( u32 type ) { | |
} | |
case UNIFORM_VIEW_PROJ: | |
case UNIFORM_WORLD: | |
+ case UNIFORM_WORLD_VIEW: | |
case UNIFORM_WORLD_VIEW_PROJ: | |
case UNIFORM_TRANSFORM: { | |
@@ -336,7 +346,7 @@ int MOAIShader::_clearUniform ( lua_State* L ) { | |
@in string name | |
@opt number type One of MOAIShader.UNIFORM_COLOR, MOAIShader.UNIFORM_FLOAT, MOAIShader.UNIFORM_INT, | |
MOAIShader.UNIFORM_TRANSFORM, MOAIShader.UNIFORM_PEN_COLOR, MOAIShader.UNIFORM_VIEW_PROJ, | |
- MOAIShader.UNIFORM_WORLD, MOAIShader.UNIFORM_WORLD_VIEW_PROJ | |
+ MOAIShader.UNIFORM_WORLD, MOAIShader.UNIFORM_WORLD_VIEW, MOAIShader.UNIFORM_WORLD_VIEW_PROJ | |
@out nil | |
*/ | |
int MOAIShader::_declareUniform ( lua_State* L ) { | |
@@ -773,6 +783,7 @@ void MOAIShader::RegisterLuaClass ( MOAILuaState& state ) { | |
state.SetField ( -1, "UNIFORM_TRANSFORM", ( u32 )MOAIShaderUniform::UNIFORM_TRANSFORM ); | |
state.SetField ( -1, "UNIFORM_VIEW_PROJ", ( u32 )MOAIShaderUniform::UNIFORM_VIEW_PROJ ); | |
state.SetField ( -1, "UNIFORM_WORLD", ( u32 )MOAIShaderUniform::UNIFORM_WORLD ); | |
+ state.SetField ( -1, "UNIFORM_WORLD_VIEW", ( u32 )MOAIShaderUniform::UNIFORM_WORLD_VIEW ); | |
state.SetField ( -1, "UNIFORM_WORLD_VIEW_PROJ", ( u32 )MOAIShaderUniform::UNIFORM_WORLD_VIEW_PROJ ); | |
} | |
diff --git a/src/moai-sim/MOAIShader.h b/src/moai-sim/MOAIShader.h | |
index ce413a9..0adfef1 100644 | |
--- a/src/moai-sim/MOAIShader.h | |
+++ b/src/moai-sim/MOAIShader.h | |
@@ -63,6 +63,7 @@ public: | |
UNIFORM_VIEW_PROJ, | |
UNIFORM_WORLD, | |
UNIFORM_WORLD_VIEW_PROJ, | |
+ UNIFORM_WORLD_VIEW, | |
}; | |
MOAIShaderUniform (); | |
@@ -83,6 +84,7 @@ public: | |
@const UNIFORM_TRANSFORM | |
@const UNIFORM_VIEW_PROJ | |
@const UNIFORM_WORLD | |
+ @const UNIFORM_WORLD_VIEW | |
@const UNIFORM_WORLD_VIEW_PROJ | |
*/ | |
class MOAIShader : | |
-- | |
1.8.3.2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment