浏览代码

Cleanups.

Mark Sibly 8 年之前
父节点
当前提交
83ad0a576d
共有 2 个文件被更改,包括 8 次插入4 次删除
  1. 6 4
      modules/mojo/graphics/graphicsdevice.monkey2
  2. 2 0
      modules/mojo/graphics/shader.monkey2

+ 6 - 4
modules/mojo/graphics/graphicsdevice.monkey2

@@ -79,6 +79,8 @@ Class GraphicsDevice
 		_deviceSize=size
 	
 		If Not _rtarget _rtargetSize=size
+		
+		_dirty|=Dirty.Viewport|Dirty.Scissor
 	End
 	
 	Property RenderTargetSize:Vec2i()
@@ -435,7 +437,7 @@ Class GraphicsDevice
 	End
 	
 	Method Validate()
-		
+
 		If _glSeq<>glGraphicsSeq
 			_glSeq=glGraphicsSeq
 			_current=Null
@@ -468,10 +470,10 @@ Class GraphicsDevice
 		If _dirty & Dirty.Viewport
 			
 			If _rtarget
-				glViewport( _viewport.X,_viewport.Y,_viewport.Width,_viewport.Height )
+				glViewport( _viewport.X,_viewport.Y,Max( _viewport.Width,0 ),Max( _viewport.Height,0 ) )
 			Else
-				glViewport( _viewport.X,_rtargetSize.y-_viewport.Bottom,_viewport.Width,_viewport.Height )
-			Endif
+				glViewport( _viewport.X,_deviceSize.y-_viewport.Bottom,Max( _viewport.Width,0 ),Max( _viewport.Height,0 ) )
+			End
 			
 		Endif
 		

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

@@ -293,6 +293,8 @@ Class Shader
 	
 	Method Rebuild()
 		
+		glCheck()
+		
 		'Get renderpasses
 		'
 		Local tag:="//@renderpasses"