コード例 #1
0
ファイル: ResourceCache.cs プロジェクト: zpconn/Gas
        /// <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;
        }
コード例 #2
0
ファイル: BloomPostProcessor.cs プロジェクト: zpconn/Gas
        /// <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" );
        }
コード例 #3
0
ファイル: TextureMapping.cs プロジェクト: zpconn/Gas
 public TextureMapping( Renderer renderer )
     : base(renderer)
 {
     effect = new Gas.Graphics.Effect( renderer, @".\\FXFiles\\Lighting.fx" );
 }
コード例 #4
0
ファイル: NormalMapping.cs プロジェクト: zpconn/Gas
 public NormalMapping( Renderer renderer )
     : base(renderer)
 {
     effect = new Effect( renderer, @".\\FXFiles\\Lighting.fx" );
 }
コード例 #5
0
ファイル: Colored.cs プロジェクト: zpconn/Gas
 public Colored(Renderer renderer)
     : base(renderer)
 {
     effect = new Effect(renderer, @"E:\Code\Projects\Gas\GasDemo\bin\Release\FXFiles\Lighting.fx");
 }
コード例 #6
0
ファイル: ShadowManager.cs プロジェクト: zpconn/Gas
        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;
        }
コード例 #7
0
ファイル: Renderer.cs プロジェクト: zpconn/Gas
        /// <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();
            }
        }
コード例 #8
0
ファイル: Water.cs プロジェクト: zpconn/Gas
 public Water( Renderer renderer )
     : base(renderer)
 {
     effect = new Effect( renderer, @".\\FXFiles\\Water.fx" );
 }