/// <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 ); }
/// <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; }
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); }
/// <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; }
/// <summary> /// Initializes a new instance of GeometryNode. /// </summary> public GeometryNode( Renderer renderer, SceneGraph sceneGraph ) : base(renderer, sceneGraph) { }
/// <summary> /// Initializes a new instance of LightNode. /// </summary> public LightNode( Renderer renderer, SceneGraph sceneGraph ) : base(renderer, sceneGraph) { }