48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
using Microsoft.Xna.Framework;
 | 
						|
using Microsoft.Xna.Framework.Graphics;
 | 
						|
 | 
						|
namespace Kav
 | 
						|
{
 | 
						|
    public class Deferred_ToonEffect : Effect
 | 
						|
    {
 | 
						|
        EffectParameter gPositionParam;
 | 
						|
        EffectParameter gAlbedoParam;
 | 
						|
        EffectParameter gNormalParam;
 | 
						|
 | 
						|
        EffectParameter eyePositionParam;
 | 
						|
        EffectParameter directionalLightDirectionParam;
 | 
						|
 | 
						|
        public Texture2D GPosition { get; set; }
 | 
						|
        public Texture2D GAlbedo { get; set; }
 | 
						|
        public Texture2D GNormal { get; set; }
 | 
						|
 | 
						|
        public Vector3 EyePosition { get; set; }
 | 
						|
        public Vector3 DirectionalLightDirection { get; set; }
 | 
						|
 | 
						|
        public Deferred_ToonEffect(GraphicsDevice graphicsDevice) : base(graphicsDevice, Resources.Deferred_ToonEffect)
 | 
						|
        {
 | 
						|
            CacheEffectParameters();   
 | 
						|
        }
 | 
						|
 | 
						|
        protected override void OnApply()
 | 
						|
        {
 | 
						|
            gPositionParam.SetValue(GPosition);
 | 
						|
            gAlbedoParam.SetValue(GAlbedo);
 | 
						|
            gNormalParam.SetValue(GNormal);
 | 
						|
            
 | 
						|
            eyePositionParam.SetValue(EyePosition);
 | 
						|
            directionalLightDirectionParam.SetValue(DirectionalLightDirection);
 | 
						|
        }
 | 
						|
 | 
						|
        void CacheEffectParameters()
 | 
						|
        {
 | 
						|
            gPositionParam                 = Parameters["gPosition"];
 | 
						|
            gAlbedoParam                   = Parameters["gAlbedo"];
 | 
						|
            gNormalParam                   = Parameters["gNormal"];
 | 
						|
 | 
						|
            eyePositionParam               = Parameters["EyePosition"];
 | 
						|
            directionalLightDirectionParam = Parameters["DirectionalLightDirection"];
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |