[Bf-blender-cvs] [97b431e] master: BGE: Add integer uniforms for 2D Filter

Thomas Szepe noreply at git.blender.org
Fri Jul 3 17:44:45 CEST 2015


Commit: 97b431e42dd2a87eed08423afc42a0ceb7448bff
Author: Thomas Szepe
Date:   Fri Jul 3 17:07:31 2015 +0200
Branches: master
https://developer.blender.org/rB97b431e42dd2a87eed08423afc42a0ceb7448bff

BGE: Add integer uniforms for 2D Filter

Actually it is only possible to pass float properties to a 2D filter (GLSL fragment shader).
This patch allows also to use integer properties for the 2D filter.

Reviewers: sybren, agoose77, kupoman, moguri, lordloki, panzergame

Reviewed By: lordloki, panzergame

Projects: #game_engine

Differential Revision: https://developer.blender.org/D1370

===================================================================

M	source/gameengine/Rasterizer/RAS_2DFilterManager.cpp

===================================================================

diff --git a/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp b/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp
index 908c597..4133f2b 100644
--- a/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp
+++ b/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp
@@ -257,10 +257,24 @@ void RAS_2DFilterManager::StartShaderProgram(int passindex)
 	for (i=0; i<objProperties; i++)
 	{
 		uniformLoc = glGetUniformLocationARB(m_filters[passindex], m_properties[passindex][i]);
-		if (uniformLoc != -1)
-		{
-			float value = ((CValue*)m_gameObjects[passindex])->GetPropertyNumber(m_properties[passindex][i], 0.0);
-			glUniform1fARB(uniformLoc,value);
+
+		if (uniformLoc == -1)
+			continue;
+
+		CValue *property = ((CValue *)m_gameObjects[passindex])->GetProperty(m_properties[passindex][i]);
+
+		if (!property)
+			continue;
+
+		switch (property->GetValueType()) {
+			case VALUE_INT_TYPE:
+				glUniform1iARB(uniformLoc, property->GetNumber());
+				break;
+			case VALUE_FLOAT_TYPE:
+				glUniform1fARB(uniformLoc, property->GetNumber());
+				break;
+			default:
+				break;
 		}
 	}
 }




More information about the Bf-blender-cvs mailing list