2
0
Эх сурвалжийг харах

Added very WIP mojo3d transparency.

Mark Sibly 8 жил өмнө
parent
commit
121868250e

+ 4 - 4
modules/mojo/app/app.monkey2

@@ -976,7 +976,7 @@ Class AppInstance
 				
 			Case SDL_WINDOWEVENT_FOCUS_GAINED
 			
-				Print "SDL_WINDOWEVENT_FOCUS_GAINED"
+'				Print "SDL_WINDOWEVENT_FOCUS_GAINED"
 			
 				Local active:=_active
 				_activeWindow=_window
@@ -988,7 +988,7 @@ Class AppInstance
 				
 			Case SDL_WINDOWEVENT_FOCUS_LOST
 			
-				Print "SDL_WINDOWEVENT_FOCUS_LOST"
+'				Print "SDL_WINDOWEVENT_FOCUS_LOST"
 			
 				Local active:=_active
 				_active=False
@@ -1113,7 +1113,7 @@ Class AppInstance
 			
 			Case SDL_WINDOWEVENT_MOVED
 			
-				Print "SDL_WINDOWEVENT_MOVED"
+'				Print "SDL_WINDOWEVENT_MOVED"
 			
 				SdlEventFilter( event )
 	
@@ -1123,7 +1123,7 @@ Class AppInstance
 					
 			Case SDL_WINDOWEVENT_RESIZED
 				
-				Print "SDL_WINDOWEVENT_RESIZED"
+'				Print "SDL_WINDOWEVENT_RESIZED"
 			
 				SdlEventFilter( event )
 	

+ 12 - 0
modules/mojo3d/graphics/deferredrenderer.monkey2

@@ -117,6 +117,8 @@ Class DeferredRenderer Extends Renderer
 		
 		_device.RenderTarget=_rpass0Target
 		
+		RenderTransparent()
+		
 		RenderSprites()
 
 		_device.RenderTarget=_rpass2Target
@@ -160,6 +162,16 @@ Class DeferredRenderer Extends Renderer
 		Super.RenderOpaqueOps()
 	End
 	
+	Method RenderTransparent()
+		
+		_device.ColorMask=ColorMask.All
+		_device.DepthMask=false
+		_device.DepthFunc=DepthFunc.LessEqual
+		_device.RenderPass=0
+
+		Super.RenderTransparentOps()
+	End
+	
 	Method RenderSprites()
 
 		_device.ColorMask=ColorMask.All

+ 5 - 0
modules/mojo3d/graphics/renderer.monkey2

@@ -305,6 +305,11 @@ Class Renderer
 
 		RenderRenderOps( _renderQueue.OpaqueOps,_renderCamera.InverseMatrix,_renderCamera.ProjectionMatrix )
 	End
+	
+	Method RenderTransparentOps()
+		
+		RenderRenderOps( _renderQueue.TransparentOps,_renderCamera.InverseMatrix,_renderCamera.ProjectionMatrix )
+	End
 
 	Method RenderSpriteOps()