Hi,
I am experiencing an issue due to MSAA, and I am not sure how to properly resolve it.
What I am doing:
- render the scene normal objects using two full size render targets:
- RT_col = color RT
- RT_camZ = camera depth (camera Z)
- resolve RT_camZ to a non-MSAA texture (RT_camZ_no_aa)
- set a 1/2 screen size render-target (RT_col_half)
- bind "RT_camZ_no_aa" as a texture
- render the particle system to this render target, and use the ps load() instruction to sample "RT_camZ_no_aa", compare this with each particle fragment cam_Z_depth (computed by VS and passed to the PS stage) to compute fragment opacity
- finally blit "RT_col_half" on the main full size color RT (RT_col)
this allows me to save some bandwith/fillrate when rendering the particle system.
However, I am experiencing some issues at the edges of the normal objects, see the screenshot below (red sections):
I am not completely sure how I could resolve this, any idea ? I guess this has to do with MSAA, but I have no idea how to properly solve this !!
Thanks for your help !
Greg
I am experiencing an issue due to MSAA, and I am not sure how to properly resolve it.
What I am doing:
- render the scene normal objects using two full size render targets:
- RT_col = color RT
- RT_camZ = camera depth (camera Z)
- resolve RT_camZ to a non-MSAA texture (RT_camZ_no_aa)
- set a 1/2 screen size render-target (RT_col_half)
- bind "RT_camZ_no_aa" as a texture
- render the particle system to this render target, and use the ps load() instruction to sample "RT_camZ_no_aa", compare this with each particle fragment cam_Z_depth (computed by VS and passed to the PS stage) to compute fragment opacity
- finally blit "RT_col_half" on the main full size color RT (RT_col)
this allows me to save some bandwith/fillrate when rendering the particle system.
However, I am experiencing some issues at the edges of the normal objects, see the screenshot below (red sections):
I am not completely sure how I could resolve this, any idea ? I guess this has to do with MSAA, but I have no idea how to properly solve this !!
Thanks for your help !
Greg