159b2e6871c65f58fdad78cd7229c292f6a177578Scott BartaMaterialDef SSAOBlur {
259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta
359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta    MaterialParameters {       
459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        Int NumSamples
559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        Int NumSamplesDepth
659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        Texture2D Texture
759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        Texture2D SSAOMap
859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        Texture2D DepthTexture
959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        Vector2 FrustumNearFar
1059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        Boolean UseAo
1159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        Boolean UseOnlyAo        
1259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        Float XScale
1359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        Float YScale
1459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta    }
1559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta
1659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta    Technique {
1759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        VertexShader GLSL150:   Common/MatDefs/Post/Post15.vert
1859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        FragmentShader GLSL150: Common/MatDefs/SSAO/ssaoBlur15.frag
1959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta
2059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        WorldParameters {
2159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta            WorldViewProjectionMatrix
2259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta            WorldViewMatrix
2359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta            Resolution
2459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        }
2559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta
2659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        Defines {
2759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta            USE_AO : UseAo
2859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta            USE_ONLY_AO : UseOnlyAo
2959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta            RESOLVE_MS : NumSamples
3059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta            RESOLVE_DEPTH_MS : NumSamplesDepth
3159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        }
3259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta    }
3359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta
3459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta    Technique {
3559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        VertexShader GLSL120:   Common/MatDefs/Post/Post.vert
3659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        FragmentShader GLSL120: Common/MatDefs/SSAO/ssaoBlur.frag
3759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta
3859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        WorldParameters {
3959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta            WorldViewProjectionMatrix
4059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta            WorldViewMatrix
4159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta            Resolution
4259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta
4359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        }
4459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        
4559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        Defines {
4659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta            USE_AO : UseAo
4759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta            USE_ONLY_AO : UseOnlyAo
4859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta            RESOLVE_MS : NumSamples
4959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta            RESOLVE_DEPTH_MS : NumSamplesDepth
5059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta        }
5159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta    }
5259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta
5359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta
5459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta
5559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta    Technique FixedFunc {
5659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta    }
5759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta}