mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-25 17:56:37 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			91 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| // Compositor that just controls output to the MRT textures
 | |
| compositor gbuffer
 | |
| {
 | |
|     technique
 | |
|     {
 | |
|         // MRT output. Currently this is a color texture plus a depth texture
 | |
|         texture mrt_output target_width target_height PF_FLOAT16_RGBA PF_FLOAT16_RGBA chain_scope depth_pool 2
 | |
| 
 | |
|         target mrt_output
 | |
|         {
 | |
|             input none
 | |
|             
 | |
|             pass clear
 | |
|             {
 | |
|                 colour_value 0 0 0 1
 | |
|             }
 | |
|             pass render_quad
 | |
|             {
 | |
|                 // this makes sure the depth for background is set to 1
 | |
|                 material openmw_viewport_init
 | |
|             }
 | |
|             pass render_scene
 | |
|             {
 | |
|                 // Renders everything except water
 | |
|                 first_render_queue 0
 | |
|                 last_render_queue 50
 | |
|             }
 | |
| 
 | |
|         }
 | |
| 
 | |
|         target_output
 | |
|         {
 | |
|             input none
 | |
| 
 | |
|             pass render_quad
 | |
|             {
 | |
|                 material quad
 | |
|                 input 0 mrt_output 0
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 | |
| 
 | |
| // Finalizer compositor to render objects that we don't want in the MRT textures (ex. water)
 | |
| // NB the water has to be rendered in a seperate compositor anyway, because it
 | |
| // accesses the MRT textures which can't be done while they are still being rendered to.
 | |
| compositor gbufferFinalizer
 | |
| {
 | |
|     technique
 | |
|     {
 | |
|         texture no_mrt_output target_width target_height PF_R8G8B8A8 depth_pool 2 no_fsaa
 | |
|         texture previousscene target_width target_height PF_R8G8B8A8
 | |
| 
 | |
|         target previousscene
 | |
|         {
 | |
|             input previous
 | |
|         }
 | |
|         target no_mrt_output
 | |
|         {
 | |
|             input none
 | |
|             shadows off
 | |
|             pass clear
 | |
|             {
 | |
|                 buffers colour
 | |
|                 colour_value 0 0 0 0
 | |
|             }
 | |
|             pass render_quad
 | |
|             {
 | |
|                 material quad_noDepthWrite
 | |
|                 input 0 previousscene
 | |
|             }
 | |
|             pass render_scene
 | |
|             {
 | |
|                 first_render_queue 51
 | |
|                 last_render_queue 105
 | |
|             }
 | |
|         }
 | |
|         target_output
 | |
|         {
 | |
|             input none
 | |
|             pass clear
 | |
|             {
 | |
|             }
 | |
|             pass render_quad
 | |
|             {
 | |
|                 material quad_noDepthWrite
 | |
|                 input 0 no_mrt_output
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |