コード例 #1
0
ファイル: LightNode.cs プロジェクト: zpconn/Gas
 /// <summary>
 /// Initializes a new instance of LightNode.
 /// </summary>
 public LightNode( Renderer renderer, SceneGraph sceneGraph, Matrix localTransform,
     float range, float intensity, Color lightColor)
     : base(renderer, sceneGraph)
 {
     Vector2 pos = Vector2.TransformCoordinate( new Vector2(), localTransform );
     light = renderer.RegisterNewLight( range, intensity, pos, lightColor );
 }
コード例 #2
0
ファイル: GeometryNode.cs プロジェクト: zpconn/Gas
 /// <summary>
 /// Initializes a new instance of GeometryNode.
 /// </summary>
 public GeometryNode( Renderer renderer, SceneGraph sceneGraph, Matrix localTransform,
     IRenderable renderObject, string material)
     : base(renderer, sceneGraph)
 {
     this.localTransform = localTransform;
     this.renderObject = renderObject;
     this.material = material;
 }
コード例 #3
0
ファイル: GasDemoForm.cs プロジェクト: zpconn/Gas
        protected override void InitializeGame()
        {
            this.Icon = new Icon(Application.StartupPath + @"\GasIcon.ico");
            Cursor.Hide();

            useBloom = config.GetSetting<bool>("UseBloom");

            renderer.ProjectionMode = ProjectionMode.Orthogonal;
            renderer.ViewMatrix = Matrix.LookAtLH(new Vector3(0, 0, 5.0f), new Vector3(),
                new Vector3(0, 1, 0));

            font = new Gas.Graphics.Font(renderer, "Arial", 16);
            font.ShadowColor = Color.Red;

            sceneImage = new Texture(renderer, renderer.FullscreenSize.Width, renderer.FullscreenSize.Height,
                true);
            bloomProcessor = new BloomPostProcessor(renderer);
            bloomProcessor.BloomScale = config.GetSetting<float>("BloomScale");
            bloomProcessor.Blur = config.GetSetting<float>("Blur");
            bloomProcessor.BrightPassThreshold = config.GetSetting<float>("BrightPassThreshold");

            sceneGraph = new SceneGraph(renderer);

            string lightColorName = config.GetSetting<string>("LightColor");
            Color lightColor = Color.FromName(lightColorName);
            light = new LightNode(renderer, sceneGraph, Matrix.Identity, 250.0f, 1.0f, lightColor);

            backgroundQuad = new GeometryNode(renderer, sceneGraph, Matrix.Translation(0.0f, 0.0f, -1.0f),
                Mesh.Rectangle(renderer, Color.Black, renderer.FullscreenSize.Width,
                renderer.FullscreenSize.Height, 2.0f), "roughWall");

            waterMesh = new GeometryNode(renderer, sceneGraph, Matrix.Translation(0.0f, 0.0f, 0.0f),
                Mesh.Circle(renderer, Color.Black, 500, 64, 1.0f), "water");

            object1 = new GeometryNode(renderer, sceneGraph, Matrix.Translation(0.0f, 0.0f, 1.0f),
                Mesh.Circle(renderer, Color.Blue, 85, 12), "stones");
            object2 = new GeometryNode(renderer, sceneGraph, Matrix.Identity,
                Mesh.Circle(renderer, Color.Blue, 65, 8), "stones");
            object3 = new GeometryNode(renderer, sceneGraph, Matrix.Identity,
                Mesh.Circle(renderer, Color.Blue, 25, 6), "stones");

            sceneGraph.Root.AddChild(backgroundQuad);
            sceneGraph.Root.AddChild(waterMesh);
            sceneGraph.Root.AddChild(object1);
            object1.AddChild(object2);
            object1.AddChild(light);
            object2.AddChild(object3);

            this.KeyDown += new KeyEventHandler(OnKeyDown);
        }
コード例 #4
0
ファイル: SceneGraphNode.cs プロジェクト: zpconn/Gas
        /// <summary>
        /// Initializes a new instance of SceneGraphNode.
        /// </summary>
        public SceneGraphNode( Renderer renderer, SceneGraph sceneGraph )
        {
            if ( renderer == null )
            {
                Log.Write( "Cannot create a SceneGraphNode with a null Renderer reference." );
                throw new ArgumentNullException( "renderer",
                    "Cannot create a SceneGraphNode with a null Renderer reference." );
            }

            if ( sceneGraph == null )
            {
                Log.Write( "Cannot create a SceneGraphNode with a null SceneGraph reference." );
                throw new ArgumentNullException( "sceneGraph",
                    "Cannot create a SceneGraphNode with a null SceneGraph reference." );
            }

            this.renderer = renderer;
            this.sceneGraph = sceneGraph;
        }
コード例 #5
0
ファイル: GeometryNode.cs プロジェクト: zpconn/Gas
 /// <summary>
 /// Initializes a new instance of GeometryNode.
 /// </summary>
 public GeometryNode( Renderer renderer, SceneGraph sceneGraph )
     : base(renderer, sceneGraph)
 {
 }
コード例 #6
0
ファイル: LightNode.cs プロジェクト: zpconn/Gas
 /// <summary>
 /// Initializes a new instance of LightNode.
 /// </summary>
 public LightNode( Renderer renderer, SceneGraph sceneGraph )
     : base(renderer, sceneGraph)
 {
 }