experiment with color banding
							parent
							
								
									d370d4e2e4
								
							
						
					
					
						commit
						a914c586b2
					
				|  | @ -18,8 +18,6 @@ namespace Kav | |||
|         EffectParameter directionalLightDirectionParam; | ||||
|         EffectParameter directionalLightColorParam; | ||||
| 
 | ||||
|         EffectParameter softnessParam; | ||||
| 
 | ||||
|         EffectParameter cascadeFarPlanesParam; | ||||
|         EffectParameter shadowMapSizeParam; | ||||
| 
 | ||||
|  | @ -43,8 +41,6 @@ namespace Kav | |||
|         public Vector3 DirectionalLightDirection { get; set; } | ||||
|         public Vector3 DirectionalLightColor { get; set; } | ||||
| 
 | ||||
|         public float Softness { get; set; } | ||||
| 
 | ||||
|         public float[] CascadeFarPlanes { get; } | ||||
|         public float ShadowMapSize { get; set; } | ||||
| 
 | ||||
|  | @ -76,8 +72,6 @@ namespace Kav | |||
|             directionalLightDirectionParam.SetValue(DirectionalLightDirection); | ||||
|             directionalLightColorParam.SetValue(DirectionalLightColor); | ||||
| 
 | ||||
|             softnessParam.SetValue(Softness); | ||||
| 
 | ||||
|             cascadeFarPlanesParam.SetValue(CascadeFarPlanes); | ||||
|             shadowMapSizeParam.SetValue(ShadowMapSize); | ||||
| 
 | ||||
|  | @ -104,8 +98,6 @@ namespace Kav | |||
|             directionalLightDirectionParam = Parameters["DirectionalLightDirection"]; | ||||
|             directionalLightColorParam     = Parameters["DirectionalLightColor"]; | ||||
| 
 | ||||
|             softnessParam                  = Parameters["Softness"]; | ||||
| 
 | ||||
|             cascadeFarPlanesParam          = Parameters["CascadeFarPlanes"]; | ||||
|             shadowMapSizeParam             = Parameters["ShadowMapSize"]; | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										
											BIN
										
									
								
								Effects/FXB/Deferred_ToonEffect.fxb (Stored with Git LFS)
								
								
								
								
							
							
						
						
									
										
											BIN
										
									
								
								Effects/FXB/Deferred_ToonEffect.fxb (Stored with Git LFS)
								
								
								
								
							
										
											Binary file not shown.
										
									
								
							|  | @ -18,8 +18,6 @@ float3 EyePosition                           _ps(c0)     _cb(c0); | |||
| float3 DirectionalLightDirection             _ps(c1)     _cb(c1); | ||||
| float3 DirectionalLightColor                 _ps(c2)     _cb(c2); | ||||
| 
 | ||||
| float Softness                               _ps(c3)     _cb(c3); | ||||
| 
 | ||||
| float CascadeFarPlanes[NUM_SHADOW_CASCADES]  _ps(c4)     _cb(c4); | ||||
| 
 | ||||
| float ShadowMapSize                          _ps(c8)     _cb(c8); | ||||
|  | @ -138,6 +136,26 @@ float ComputeShadow(float3 positionWorldSpace, float3 N, float3 L) | |||
|     } | ||||
| } | ||||
| 
 | ||||
| float IntensityBanding(float NdotL) | ||||
| { | ||||
|     if (NdotL > 0.5) | ||||
|     { | ||||
|         return 1.0; | ||||
|     } | ||||
|     else if (NdotL > 0.25) | ||||
|     { | ||||
|         return 0.5; | ||||
|     } | ||||
|     else if (NdotL > 0.0) | ||||
|     { | ||||
|         return 0.25; | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|         return 0.0; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| // FIXME: organize this | ||||
| float4 main_ps(PixelInput input) : SV_TARGET0 | ||||
| { | ||||
|  | @ -153,16 +171,7 @@ float4 main_ps(PixelInput input) : SV_TARGET0 | |||
|     float NdotL = dot(N, L); | ||||
|     float NdotH = max(dot(N, H), 0.0); | ||||
| 
 | ||||
|     float lightIntensity; | ||||
|     if (Softness > 0.0) | ||||
|     { | ||||
|         lightIntensity = smoothstep(0, Softness, NdotL); | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|         lightIntensity = (NdotL > 0.0) ? 1.0 : 0.0; | ||||
|     } | ||||
| 
 | ||||
|     float lightIntensity = IntensityBanding(NdotL); | ||||
|     float3 light = lightIntensity * DirectionalLightColor; | ||||
| 
 | ||||
|     float specularIntensity = pow(NdotH * lightIntensity, 32 * 32); | ||||
|  |  | |||
|  | @ -352,8 +352,6 @@ namespace Kav | |||
|             Deferred_ToonEffect.DirectionalLightColor =  | ||||
|                 directionalLight.Color.ToVector3() * directionalLight.Intensity; | ||||
| 
 | ||||
|             Deferred_ToonEffect.Softness = 0.01f; | ||||
| 
 | ||||
|             Deferred_ToonEffect.ShadowMapOne = ShadowRenderTargets[0]; | ||||
|             if (NumShadowCascades > 1) | ||||
|             { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue