159b2e6871c65f58fdad78cd7229c292f6a177578Scott BartaMaterialDef Phong Lighting Deferred { 259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta MaterialParameters { 459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta // Use more efficent algorithms to improve performance 659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Boolean LowQuality 759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta // Improve quality at the cost of performance 959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Boolean HighQuality 1059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 1159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta // Activate shading along the tangent, instead of the normal 1259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta // Requires tangent data to be available on the model. 1359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Boolean VTangent 1459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 1559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta // Use minnaert diffuse instead of lambert 1659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Boolean Minnaert 1759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 1859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta // Use ward specular instead of phong 1959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Boolean WardIso 2059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 2159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Texture2D DiffuseData 2259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Texture2D SpecularData 2359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Texture2D NormalData 2459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Texture2D DepthData 2559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 2659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Vector3 FrustumCorner 2759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Vector2 FrustumNearFar 2859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Matrix4 ViewProjectionMatrixInverse 2959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 3059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta // Color ramp, will map diffuse and specular values through it. 3159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Texture2D ColorRamp 3259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 3359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 3459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Technique { 3559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta LightMode MultiPass 3659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 3759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta VertexShader GLSL100: Common/MatDefs/Light/Deferred.vert 3859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta FragmentShader GLSL100: Common/MatDefs/Light/Deferred.frag 3959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 4059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta WorldParameters { 4159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta WorldViewProjectionMatrix 4259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta WorldViewMatrix 4359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta ViewMatrix 4459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta CameraPosition 4559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 4659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 4759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Defines { 4859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta ATTENUATION : Attenuation 4959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta V_TANGENT : VTangent 5059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta MINNAERT : Minnaert 5159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta WARDISO : WardIso 5259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta LOW_QUALITY : LowQuality 5359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta HQ_ATTENUATION : HighQuality 5459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta COLORRAMP : ColorRamp 5559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 5659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 5759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 5859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Technique FixedFunc { 5959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 6059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 6159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta}