Jump to content
  • Advertisement
Sign in to follow this  
n00body

Order of post-processing passes in pipeline?

This topic is 2702 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Background:
For my rendering pipeline, I am using encoded RGBA8 buffers wherever possible. Currently, I am considering this order for all the passes:
  1. G-Buffer prepass
  2. Light accumulation
  3. SSAO
  4. Material (output motion vectors with MRT)
  5. Refractive (written to a separate buffer, then overwrites material buffer)
  6. EdgeAA
  7. Depth of Field
  8. Motion Blur
  9. Translucency (accumulated in a separate buffer, applies its own fog)
  10. Fog (also applies translucency buffer)
  11. Generate Bloom
  12. Apply Bloom, Tonemapping, & Color Correction

Problems:

Right now, I have concerns about ordering post-passes that involve blurring (Motion Blur, Depth of Field, EdgeAA, etc) or that overwrite other parts of the buffer (volume lighting, bloom, translucency, etc).
  1. Blur passes introducing artifacts into each other
    • ex. Motion Blur then Depth of Field blurring the streaks
  • Overwrite passes happening before blur passes
    • ex. Translucency incorrectly blurred
      • ex. Fog blurring artifacts with EdgeAA
      • Overwrite passes happening after blurring passes
        • ex. Translucency being sharp on blurred backgroundQuestions:
          Any insights from prior work would be most appreciated.
          1. Can you comment on my current proposed ordering of passes? Any potential problems, artifacts it will introduce?
          2. Can you offer you own proposed ordering? Any potential problems, artifacts it will introduce?

          Any help you can offer would be most appreciated. Thanks. ;)

    Share this post


    Link to post
    Share on other sites
    Advertisement
    Sign in to follow this  

    • Advertisement
    ×

    Important Information

    By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

    We are the game development community.

    Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

    Sign me up!