/// <summary> /// Creates an effect from a file. If the effect has already been created, the cached version /// is returned. /// </summary> public static Effect CreateEffectFromFile( Renderer renderer, string filename ) { // Search cache first foreach ( string cachedFilename in effectCache.Keys ) { if ( StringHelper.CaseInsensitiveCompare( cachedFilename, filename ) ) return effectCache[ cachedFilename ] as Effect; } Effect newEffect = new Effect( renderer, filename ); effectCache.Add( filename, newEffect ); return newEffect; }
/// <summary> /// Initializes the BloomPostProcessor. /// </summary> public BloomPostProcessor( Renderer renderer ) { if ( renderer == null ) throw new ArgumentNullException( "renderer", "Can't create the BloomPostProcessor with a " + "null Renderer reference." ); this.renderer = renderer; brightPassTex = new Texture( renderer, renderer.FullscreenSize.Width / 2, renderer.FullscreenSize.Height / 2, true ); blurHorizontalTex = new Texture( renderer, renderer.FullscreenSize.Width / 2, renderer.FullscreenSize.Height / 2, true ); blurVerticalTex = new Texture( renderer, renderer.FullscreenSize.Width / 2, renderer.FullscreenSize.Height / 2, true ); finalBloomImage = new Texture( renderer, renderer.FullscreenSize.Width, renderer.FullscreenSize.Height, true ); fullscreenQuad = Mesh.Rectangle( renderer, Color.Black, renderer.FullscreenSize.Width, renderer.FullscreenSize.Height ); bloomEffect = GlobalResourceCache.CreateEffectFromFile( renderer, @".\\FXFiles\\Bloom.fx" ); }
public TextureMapping( Renderer renderer ) : base(renderer) { effect = new Gas.Graphics.Effect( renderer, @".\\FXFiles\\Lighting.fx" ); }
public NormalMapping( Renderer renderer ) : base(renderer) { effect = new Effect( renderer, @".\\FXFiles\\Lighting.fx" ); }
public Colored(Renderer renderer) : base(renderer) { effect = new Effect(renderer, @"E:\Code\Projects\Gas\GasDemo\bin\Release\FXFiles\Lighting.fx"); }
public static void Initialize( Renderer renderer ) { ShadowManager.renderer = renderer; blur = config.GetSetting<float>( "ShadowBlur" ); shadowTex = new Texture( renderer, renderer.FullscreenSize.Width / 2, renderer.FullscreenSize.Height / 2, true ); blurHorizontalTex = new Texture( renderer, renderer.FullscreenSize.Width / 2, renderer.FullscreenSize.Height / 2, true ); blurVerticalTex = new Texture( renderer, renderer.FullscreenSize.Width / 2, renderer.FullscreenSize.Height / 2, true ); finalTex = new Texture( renderer, renderer.FullscreenSize.Width, renderer.FullscreenSize.Height, true ); fullscreenQuad = Mesh.Rectangle( renderer, Color.Black, renderer.FullscreenSize.Width, renderer.FullscreenSize.Height ); shadowEffect = GlobalResourceCache.CreateEffectFromFile( renderer, @".\\FXFiles\\Shadow.fx" ); initialized = true; }
/// <summary> /// Begins rendering with an effect. If 'effect' is null, then the fixed-function pipeline is used. /// </summary> public void Begin( Effect effect ) { //device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1.0f, 0); device.BeginScene(); if ( effect != null ) { currentEffect = effect; currentEffect.BeginTechnique(); } }
public Water( Renderer renderer ) : base(renderer) { effect = new Effect( renderer, @".\\FXFiles\\Water.fx" ); }