Mark Sibly 8 anos atrás
pai
commit
165e98e3dc

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

@@ -40,12 +40,19 @@ Class DeferredRenderer Extends Renderer
 			SafeDiscard( _rpass0Target )
 			SafeDiscard( _rpass2Target )
 		
-			Const format:=PixelFormat.RGBA32F		'32 bit float
+			'look at this again later - surely we can rgba32f on some mobile targets, eg: nvidia shield?
+			#If Not __MOBILE_TARGET__
+			Const color_format:=PixelFormat.RGBA32F
+			Const depth_format:=PixelFormat.Depth32
+			#Else
+			Const color_format:=PixelFormat.RGBA8
+			Const depth_format:=PixelFormat.Depth32
+			#Endif
 				
-			_hdrTexture=New Texture( size.x,size.y,format,TextureFlags.Filter|TextureFlags.Dynamic )		'output hdr image
-			_colorTexture=New Texture( size.x,size.y,format,TextureFlags.Filter|TextureFlags.Dynamic )		'metalness in 'a'
-			_normalTexture=New Texture( size.x,size.y,format,TextureFlags.Filter|TextureFlags.Dynamic )		'roughness in 'a'
-			_depthTexture=New Texture( size.x,size.y,PixelFormat.Depth32F,TextureFlags.Dynamic )
+			_hdrTexture=New Texture( size.x,size.y,color_format,TextureFlags.Filter|TextureFlags.Dynamic )		'output hdr image
+			_colorTexture=New Texture( size.x,size.y,color_format,TextureFlags.Filter|TextureFlags.Dynamic )		'metalness in 'a'
+			_normalTexture=New Texture( size.x,size.y,color_format,TextureFlags.Filter|TextureFlags.Dynamic )		'roughness in 'a'
+			_depthTexture=New Texture( size.x,size.y,depth_format,TextureFlags.Dynamic )
 				
 			_rpass0Target=New RenderTarget( New Texture[]( _hdrTexture,_colorTexture,_normalTexture ),_depthTexture )
 			_rpass2Target=New RenderTarget( New Texture[]( _hdrTexture ),Null )

+ 11 - 4
modules/mojo3d/graphics/forwardrenderer.monkey2

@@ -43,11 +43,18 @@ Class ForwardRenderer Extends Renderer
 			SafeDiscard( _depthBuffer )
 			SafeDiscard( _colorTarget0 )
 			SafeDiscard( _colorTarget1 )
-			
-			Const format:=PixelFormat.RGBA32F
+
+			'look again at this - surely we can rgb32f on some mobile target?
+			#If Not __MOBILE_TARGET__
+			Const color_format:=PixelFormat.RGBA32F
+			Const depth_format:=PixelFormat.Depth32
+			#Else
+			Const color_format:=PixelFormat.RGBA8
+			Const depth_format:=PixelFormat.Depth32
+			#Endif
 				
-			_colorBuffer=New Texture( size.x,size.y,format,TextureFlags.Filter|TextureFlags.Dynamic )
-			_depthBuffer=New Texture( size.x,size.y,PixelFormat.Depth32F,TextureFlags.Dynamic )
+			_colorBuffer=New Texture( size.x,size.y,color_format,TextureFlags.Filter|TextureFlags.Dynamic )
+			_depthBuffer=New Texture( size.x,size.y,depth_format,TextureFlags.Dynamic )
 			_colorTarget0=New RenderTarget( New Texture[]( _colorBuffer ),_depthBuffer )
 			_colorTarget1=New RenderTarget( New Texture[]( _colorBuffer ),Null )
 			

+ 11 - 6
modules/mojo3d/graphics/renderer.monkey2

@@ -489,13 +489,16 @@ Class Renderer
 			SafeDiscard( _csmTarget )
 			SafeDiscard( _csmTexture )
 			SafeDiscard( _csmDepth )
+
+			const color_format:=PixelFormat.RGBA8
+			const depth_format:=PixelFormat.Depth32
 			
 			If _rgbaDepthTextures
-				_csmTexture=New Texture( _csmSize,_csmSize,PixelFormat.RGBA8,TextureFlags.Dynamic )
-				_csmDepth=New Texture( _csmSize,_csmSize,PixelFormat.Depth32F,TextureFlags.Dynamic )
+				_csmTexture=New Texture( _csmSize,_csmSize,color_format,TextureFlags.Dynamic )
+				_csmDepth=New Texture( _csmSize,_csmSize,depth_format,TextureFlags.Dynamic )
 				_csmTarget=New RenderTarget( New Texture[]( _csmTexture ),_csmDepth )
 			Else
-				_csmTexture=New Texture( _csmSize,_csmSize,PixelFormat.Depth32F,TextureFlags.Dynamic )
+				_csmTexture=New Texture( _csmSize,_csmSize,depth_format,TextureFlags.Dynamic )
 				_csmTarget=New RenderTarget( Null,_csmTexture )
 				_csmDepth=Null
 			Endif
@@ -511,10 +514,12 @@ Class Renderer
 			Next
 			
 			Local size:=_psmSize*2
+
+			const color_format:=PixelFormat.RGBA8
+			const depth_format:=PixelFormat.Depth32
 			
-			_psmTexture=New Texture( size,size,PixelFormat.RGBA8,TextureFlags.Cubemap|TextureFlags.Dynamic )
-'			_psmTexture=New Texture( size,size,PixelFormat.Depth32F,TextureFlags.Cubemap|TextureFlags.Dynamic )
-			_psmDepth=New Texture( size,size,PixelFormat.Depth32F,TextureFlags.Dynamic )
+			_psmTexture=New Texture( size,size,color_format,TextureFlags.Cubemap|TextureFlags.Dynamic )
+			_psmDepth=New Texture( size,size,depth_format,TextureFlags.Dynamic )
 			For Local i:=0 Until 6
 				Local face:=_psmTexture.GetCubeFace( Cast<CubeFace>( i ) )
 				_psmTargets[i]=New RenderTarget( New Texture[]( face ),_psmDepth )