by date
TGEA Advanced Shaders (Image Heavy)
TGEA Advanced Shaders (Image Heavy)
| Name: | Matt Vitelli | |
|---|---|---|
| Date Posted: | Nov 10, 2008 | |
| Rating: | 5.0 out of 5 | |
| Public: | YES | |
| Comments: | YES | |
| RSS Feed: | or Subscribe with . | |
| Profile Page: | View profile page for Matt Vitelli |
Blog post
I've been working hard on post processes since late June. Only recently have I implemented many of the effects TGEA users have desired for years. This has taken a great many months, but things are finally coming together. I've learned powerful lessons and valuable techniques for working with image-space. Below is a compilation of the past few months.
God-Rays
Similar to my light-extrusion mapping from an earlier plan, only this creates one based on objects in the scene and collision intersections with the sun.

Motion-Blur
This uses the good ol' frame-to-frame blur method. An example of this can be found in RenderMonkey.

Real-Time Atmospheric Day and Night Cycles and Dynamic Atlas Shadows
Video Here
This is useful for realistic day and night cycles. The sun is dynamically generated using a shader and the entire sky uses 3 lookup tables. This is a performance enhancement compared to the many textures used in the original skybox class. It also is visually more appealing.
Dynamic atlas shadows are also part of this. Unfortunately, I have no video of this in action, though it can be clearly seen in the screenshots. The shadowing uses a height-tracing algorithm similar to relief mapping. This has some benefits to standard shadow mapping, but also some disadvantages visually. Ambient-occlusion is also calculated in the shader.
Day

Sunset

Night

Atmospheric Glare Using Diffraction
Essentially, this is the effect seen when a viewer squints their eyes at a light source. The halo gets skewed in seemingly random directions when you squint your eyes, creating a cross in glare.

Depth of Field
Pretty good technique, but it requires a high-precision, high-resolution depth map for quality. (R32 texture-type)

Normal-Based Screen Space Ambient Occlusion
This is similar to the traditional depth-based approach, only it is done using the normal-angles to calculate occlusion. It tends to be more accurate and gives better results and less of the "black aura" that's seen in depth-map based approaches.
Without AO

With AO

God-Rays
Similar to my light-extrusion mapping from an earlier plan, only this creates one based on objects in the scene and collision intersections with the sun.

Motion-Blur
This uses the good ol' frame-to-frame blur method. An example of this can be found in RenderMonkey.

Real-Time Atmospheric Day and Night Cycles and Dynamic Atlas Shadows
Video Here
This is useful for realistic day and night cycles. The sun is dynamically generated using a shader and the entire sky uses 3 lookup tables. This is a performance enhancement compared to the many textures used in the original skybox class. It also is visually more appealing.
Dynamic atlas shadows are also part of this. Unfortunately, I have no video of this in action, though it can be clearly seen in the screenshots. The shadowing uses a height-tracing algorithm similar to relief mapping. This has some benefits to standard shadow mapping, but also some disadvantages visually. Ambient-occlusion is also calculated in the shader.
Day

Sunset

Night

Atmospheric Glare Using Diffraction
Essentially, this is the effect seen when a viewer squints their eyes at a light source. The halo gets skewed in seemingly random directions when you squint your eyes, creating a cross in glare.

Depth of Field
Pretty good technique, but it requires a high-precision, high-resolution depth map for quality. (R32 texture-type)

Normal-Based Screen Space Ambient Occlusion
This is similar to the traditional depth-based approach, only it is done using the normal-angles to calculate occlusion. It tends to be more accurate and gives better results and less of the "black aura" that's seen in depth-map based approaches.
Without AO

With AO

Recent Blog Posts
| List: | 11/10/08 - TGEA Advanced Shaders (Image Heavy) 07/29/08 - Shaders Galore! Texture-Space Diffusion, God Rays, and Light Extrusion Mapping! 05/15/08 - Day and Night System 09/27/07 - Illumina Screenshots! 08/14/07 - Forgotten Lands, Real-Time Ambient Occlusion, and Motion Blur! 08/03/07 - Illumina, Forgotten Lands, and Shaders!(Screenshot heavy) 11/08/06 - Various Tools and Projects (Screenshot Heavy) 09/16/06 - The Past Year |
|---|
Submit your own resources!| Stephen Wilson (Nov 10, 2008 at 02:04 GMT) |
| Michael Perry (Nov 10, 2008 at 04:08 GMT) |
| Kory James (Nov 10, 2008 at 04:26 GMT) Resource Rating: 5 |
| Ahmad Samimi (Nov 10, 2008 at 04:35 GMT) |
| J.C. Smith (Nov 10, 2008 at 08:50 GMT) |
| Christian S (Nov 10, 2008 at 11:08 GMT) |
| Daniel Hopkins (Nov 10, 2008 at 17:39 GMT) |
| bryce (Nov 10, 2008 at 22:12 GMT) |
| Morrock (Nov 11, 2008 at 00:17 GMT) |
| Matt Vitelli (Nov 11, 2008 at 00:33 GMT) |
| Koushik (Nov 12, 2008 at 15:50 GMT) |
Have you tried implementing pixel-motion blur? Like (I know, I know.. :) .....) the project offset guys?
And about the SSAO, why don't you try blurring the end image a couple of times more to smooth them out, before blending it with the color. Could you elaborate a bit on how differently you're doing it, I might be able to give you a few ideas. I've tried implementing SSAO with a deferred shading system - with decent results.
As a matter of fact, (dont know If I've mentioned this earlier to you), I did implement SSAO with TGE and OpenGL. You can take a look at a sample here:
If you look closely, you'll realize that its Kork running around in the "interior lighting Demo" level. You can see the per-vertexness (for want of a better term) in there. I managed to offset this by rendering the normals out (not in TGE, I redid the implementation elsewhere) and using them to adjust the occlusion terms, determined from the depth map (rendered in a previous pass, or using MRT/ FBOs). Maybe I'll port it to TGE now that I'm going to be getting some more free time soon... (fingers crossed)
You must be a member and be logged in to either append comments or rate this resource.


5.0 out of 5


