Mark Sibly 7 years ago
parent
commit
9bef801573

+ 0 - 2
modules/mojo/graphics/canvas.monkey2

@@ -1666,8 +1666,6 @@ Class Canvas
 		_vp->position.y=_matrix.i.y * tx + _matrix.j.y * ty + _matrix.t.y + .5
 		_vp->texCoord0.x=s0
 		_vp->texCoord0.y=t0
-		_vp->texCoord1.x=_tanvec.x
-		_vp->texCoord1.y=_tanvec.y
 		_vp->color=_pmcolor
 		_vp+=1
 	End

+ 2 - 0
modules/mojo/graphics/graphicsdevice.monkey2

@@ -631,6 +631,8 @@ Class GraphicsDevice
 		Endif
 		
 		If _dirty2 & Dirty.Shader
+			
+			_ublocks[0]=_shader.Uniforms
 		
 			_shader.Bind( _rpass )
 		Endif

+ 17 - 3
modules/mojo/graphics/shader.monkey2

@@ -33,7 +33,10 @@ Class GLUniform
 		Self.size=size
 		Self.type=type
 		
-		If name.StartsWith( "r_" )
+		If name.StartsWith( "g_" )
+			name=name.Slice( 2 )
+			block=0
+		Else If name.StartsWith( "r_" )
 			name=name.Slice( 2 )
 			block=1
 		Else If name.StartsWith( "i_" )
@@ -231,20 +234,29 @@ Class Shader
 		Return _source
 	End
 	
-	#rem monkeydoc @hidden The renderpasses the shader is involved in.
+	#rem monkeydoc The renderpasses the shader is valid for.
 	#end
 	Property RenderPasses:Int[]()
 	
 		Return _rpasses
 	End
 	
-	#rem monkeydoc @hidden Renderpass bitmask.
+	#rem monkeydoc Renderpass bitmask.
 	#end
 	Property RenderPassMask:Int()
 	
 		Return _rpassMask
 	End
 	
+	#rem monkeydoc Shader global uniforms.
+	#end
+	Property Uniforms:UniformBlock()
+		
+		If Not _uniforms _uniforms=New UniformBlock( 0 )
+		
+		Return _uniforms
+	End
+	
 	'***** INTERNAL *****
 	
 	#rem monkeydoc @hidden
@@ -300,6 +312,8 @@ Class Shader
 	
 	Field _rpasses:Int[]
 	Field _rpassMask:Int
+	Field _uniforms:UniformBlock
+	
 	Field _programs:=New GLProgram[32]
 	Field _glSeq:Int