got MRT working, some minor quirks to solve (black viewport background)
parent
eb67afe552
commit
3f05aba76d
@ -0,0 +1,81 @@
|
||||
// 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
|
||||
{
|
||||
}
|
||||
pass render_scene
|
||||
{
|
||||
first_render_queue 0
|
||||
last_render_queue 69
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
target_output
|
||||
{
|
||||
input none
|
||||
|
||||
pass render_quad
|
||||
{
|
||||
material RenderScene
|
||||
input 0 mrt_output 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Finalizer compositor to render objects that we don't want in the MRT textures (this is the case for most transparent stuff)
|
||||
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 RenderSceneNoDepth
|
||||
input 0 previousscene
|
||||
}
|
||||
pass render_scene
|
||||
{
|
||||
first_render_queue 70
|
||||
last_render_queue 100
|
||||
}
|
||||
}
|
||||
target_output
|
||||
{
|
||||
input none
|
||||
pass clear
|
||||
{
|
||||
}
|
||||
pass render_quad
|
||||
{
|
||||
material RenderSceneNoDepth
|
||||
input 0 no_mrt_output
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
vertex_program RenderGBuffer_vs cg
|
||||
{
|
||||
source gbuffer.cg
|
||||
profiles vs_4_0 vs_1_1 arbvp1
|
||||
entry_point RenderScene_vs
|
||||
default_params
|
||||
{
|
||||
param_named_auto wvp worldviewproj_matrix
|
||||
}
|
||||
}
|
||||
fragment_program RenderGBuffer_ps cg
|
||||
{
|
||||
source gbuffer.cg
|
||||
entry_point RenderScene_ps
|
||||
profiles ps_4_0 ps_2_x arbfp1
|
||||
default_params
|
||||
{
|
||||
}
|
||||
}
|
||||
material RenderScene
|
||||
{
|
||||
technique
|
||||
{
|
||||
pass
|
||||
{
|
||||
vertex_program_ref RenderGBuffer_vs
|
||||
{
|
||||
}
|
||||
|
||||
fragment_program_ref RenderGBuffer_ps
|
||||
{
|
||||
}
|
||||
|
||||
texture_unit tex1
|
||||
{
|
||||
//scenebuffer
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
material RenderSceneNoDepth
|
||||
{
|
||||
technique
|
||||
{
|
||||
pass
|
||||
{
|
||||
depth_write off
|
||||
vertex_program_ref RenderGBuffer_vs
|
||||
{
|
||||
}
|
||||
|
||||
fragment_program_ref RenderGBuffer_ps
|
||||
{
|
||||
}
|
||||
|
||||
texture_unit tex1
|
||||
{
|
||||
//scenebuffer
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue