public SpriteRenderer(SpriteShader _shader) { UIQuad = Loader.LoadToVAO(Geometry.GetVertex(Geometries.Quad), Geometry.GetVertexName(Geometries.Quad)); shader = _shader; shader.Start(); shader.Stop(); }
public override void Draw(SpriteShader shader) { int alpha = IsImmune ? (int)(Pulse(0.25) * 191) : 255; Sprite.Colour = Color.FromArgb(alpha, (Color)Sprite.Colour); base.Draw(shader); }
public override void Render(SpriteShader shader) { if (_invalidated) { UpdateImage(); _invalidated = false; } base.Render(shader); }
protected override void OnLoad( EventArgs e ) { mySpriteShader = new SpriteShader( Width, Height ); myCellSprite = new Sprite( new BitmapTexture2D( ASMCellSim.Visualizer.Properties.Resources.cell, TextureMinFilter.LinearMipmapLinear, TextureMagFilter.Linear ), myCamScale / 32.0f ); myCellSprite.UseCentreAsOrigin = true; GL.ClearColor( Color4.LightGray ); myTimer.Start(); }
public virtual void Render(SpriteShader shader) { if (VertsChanged) { _vertices = FindVerts(); VertsChanged = false; } shader.Texture = Texture; shader.Render(_vertices); }
protected override void OnLoad(System.EventArgs e) { Plugin.Register("MarsMiner.Shared.CorePlugin", true, true); Plugin.Register("MarsMiner.Shared.MarsMinerPlugin", true, true); ServerBuilder sb = new ServerBuilder { Name = "Local Server", Password = null, SlotCount = 1 }; myLocalServer = new GameServer(sb); myServerThread = new Thread(myLocalServer.Run); myServerThread.Start(); myLocalClient = new GameClient(); myLocalClient.ConnectLocal(); myClientThread = new Thread(myLocalClient.Run); myClientThread.Start(); mySpriteShader = new SpriteShader(Width, Height); myUIRoot = new UIObject(new Vector2(Width, Height)); myFPSText = new UILabel(Font.Large, new Vector2(4.0f, 4.0f)); myFPSText.Text = "FT: ??ms FPS: ?? MEM: ??"; myUIRoot.AddChild(myFPSText); Mouse.Move += OnMouseMove; Mouse.ButtonUp += OnMouseButtonEvent; Mouse.ButtonDown += OnMouseButtonEvent; /* * myTestWorld = new World(); * * myGeoShader = new GeometryShader( Width, Height ); * myGeoShader.UpdateTileMap( 16 ); * * myGeoRenderers = new List<ChunkRenderer>(); * * myTestWorld.ChunkLoaded += OnChunkEvent; * myTestWorld.ChunkUnloaded += OnChunkEvent; * myTestWorld.ChunkChanged += OnChunkEvent; * * myTestWorld.Generate( 1024, 1024, 4 ); * * myGeoShader.CameraPosition = new Vector3( 0.0f, 1024.0f, 0.0f ); */ GL.ClearColor(new Color4(223, 186, 168, 255)); myFrameTimer.Start(); }
public void Initiliaze(Camera camera) { entityShader = new EntityShader(); terrainShader = new TerrainShader(); shaderUI = new SpriteShader(); textShader = new TextShader(); skyboxShader = new SkyboxShader(); entityRenderer = new EntityRenderer(entityShader); terrainRenderer = new TerrainRenderer(terrainShader); spriteRenderer = new SpriteRenderer(shaderUI); textRenderer = new TextRenderer(textShader); skyboxRenderer = new SkyboxRenderer(skyboxShader, camera.GetProjectionMatrix()); }
public void Draw(SpriteShader shader) { for (int i = 0; i < fullbarcount; ++i) { int starthp = i * 100 / fullbarcount; int endhp = (i + 1) * 100 / fullbarcount; if (ship.HP <= starthp) { continue; } sprite.Colour = Color.FromArgb(Math.Min(255,(ship.HP-starthp)*255/(endhp-starthp)), Color.Firebrick); sprite.Position = Position + new Vector2(i * sprite.Width, 0); sprite.Render(shader); } }
protected override void OnRender(SpriteShader shader, Vector2 renderPosition = new Vector2()) { mySprite.Position = renderPosition; mySprite.Colour = (IsEnabled ? OpenTK.Graphics.Color4.White : DisabledColour); mySprite.Render(shader); double timeSinceFlash = (DateTime.Now - myLastFlashTime).TotalSeconds; if (timeSinceFlash < 0.5 && IsFocused && IsEnabled && Text.Length < CharacterLimit) { myUnderlineChar.Position = renderPosition + new Vector2(PaddingLeft + myText.Width, PaddingTop + Math.Max(myText.Height, myFont.CharHeight) - myUnderlineChar.Height); myUnderlineChar.Render(shader); } else if (timeSinceFlash >= 1.0) { myLastFlashTime = DateTime.Now; } }
protected override void OnLoad(EventArgs e) { GL.ClearColor(Color4.CornflowerBlue); _spriteShader = new SpriteShader(Width, Height); UpdateTitle(); Mouse.ButtonDown += (sender, me) => { if (Graph != null && (me.Button == OpenTK.Input.MouseButton.Left || Graph.SelectedVertex == -1)) { Graph.SelectedVertex = Graph.GetNearestVertexScreen(new Vector2(me.X, me.Y)); } else if (Graph.SelectedVertex != -1 && me.Button == OpenTK.Input.MouseButton.Right) { int nearest = Graph.GetNearestVertexScreen(new Vector2(me.X, me.Y)); if (nearest != Graph.SelectedVertex) { int i = Graph.CurrentRoute.IndexOf(Graph.SelectedVertex); int j = Graph.CurrentRoute.IndexOf(nearest); Graph.CurrentRoute.Splice(i, j); UpdateTitle(); } Graph.DeselectVertex(); } }; Mouse.ButtonUp += (sender, me) => { if (Graph != null && me.Button == OpenTK.Input.MouseButton.Left) { Graph.DeselectVertex(); } }; Mouse.Move += (sender, me) => { if (Graph != null && Graph.SelectedVertex != -1 && Mouse[OpenTK.Input.MouseButton.Left]) { Graph.MoveVertexScreen(Graph.SelectedVertex, new Vector2(me.X, me.Y)); } }; }
public void Render(SpriteShader shader, Vector2 parentPosition = new Vector2()) { if (IsVisible) { parentPosition += Position; OnRender(shader, parentPosition); if (RenderObject != null) { RenderObject(this, new RenderEventArgs(shader, parentPosition)); } try { foreach (UIObject child in myChildren) { child.Render(shader, parentPosition + myPaddingTopLeft); } } catch (Exception) { } } }
protected override void OnLoad(EventArgs e) { GL.ClearColor(Color4.CornflowerBlue); _spriteShader = new SpriteShader(Width, Height); UpdateTitle(); Mouse.ButtonDown += (sender, me) => { if (Graph != null && (me.Button == OpenTK.Input.MouseButton.Left || Graph.SelectedVertex == -1)) { Graph.SelectedVertex = Graph.GetNearestVertexScreen(new Vector2(me.X, me.Y)); } else if (Graph.SelectedVertex != -1 && me.Button == OpenTK.Input.MouseButton.Right) { int nearest = Graph.GetNearestVertexScreen(new Vector2(me.X, me.Y)); if (nearest != Graph.SelectedVertex) { int i = Graph.CurrentRoute.IndexOf(Graph.SelectedVertex); int j = Graph.CurrentRoute.IndexOf(nearest); Graph.CurrentRoute.Splice(i, j); UpdateTitle(); } Graph.DeselectVertex(); } }; Mouse.ButtonUp += (sender, me) => { if (Graph != null && me.Button == OpenTK.Input.MouseButton.Left) { Graph.DeselectVertex(); } }; Mouse.Move += (sender, me) => { if (Graph != null && Graph.SelectedVertex != -1 && Mouse[OpenTK.Input.MouseButton.Left]) { Graph.MoveVertexScreen(Graph.SelectedVertex, new Vector2(me.X, me.Y)); } }; }
public RenderEventArgs(SpriteShader shader, Vector2 drawPosition) { ShaderProgram = shader; DrawPosition = drawPosition; }
public virtual void Draw(SpriteShader shader) { Sprite.Render(shader); }
protected override void OnRender(SpriteShader shader, Vector2 renderPosition = new Vector2()) { myText.Position = renderPosition; myText.Render(shader); }
public void Render(SpriteShader shader) { Vector2 centre = new Vector2(400f, 300f); _sNodeSprite.Colour = new Color4(127, 127, 127, 191); _sNodeSprite.Scale = new Vector2(0.125f * 1.05f); for (int i = 0; i < Count; ++i) { _sNodeSprite.Position = ((_positions[i] - CameraPos) * Scale) + centre; _sNodeSprite.Render(shader); } if (HighlightedEdges != null) { _sConnSprite.Height = 4f; for (int k = (HighlightedEdges.Length >> 1) - 1; k >= 0; --k ) { int i = HighlightedEdges[k, 0]; int j = HighlightedEdges[k, 1]; Vector2 diff = _positions[j] - _positions[i]; Vector2 mid = (_positions[i] + _positions[j]) * 0.5f; float len = diff.Length; float ang = (float) Math.Atan2(diff.Y, diff.X); _sConnSprite.Position = ((mid - CameraPos) * Scale) + centre; Color4 clr = _sConnSprite.Colour; clr.G = 1f - OpenTKTools.Tools.Clamp(Math.Abs(len - this[i, j]) / (this[i, j] * 4f), 0f, 1f); clr.B = clr.G; _sConnSprite.Colour = clr; _sConnSprite.Width = Scale * len; _sConnSprite.Rotation = ang; _sConnSprite.Render(shader); } } if (CurrentRoute != null) { _sConnSprite.Height = 8f; for (int k = 0; k < CurrentRoute.Count; ++k) { int i = CurrentRoute[k]; int j = CurrentRoute[k + 1]; Vector2 diff = _positions[j] - _positions[i]; Vector2 mid = (_positions[i] + _positions[j]) * 0.5f; float len = diff.Length; float ang = (float) Math.Atan2(diff.Y, diff.X); _sConnSprite.Position = ((mid - CameraPos) * Scale) + centre; Color4 clr = _sConnSprite.Colour; clr.G = 1f - OpenTKTools.Tools.Clamp(Math.Abs(len - this[i, j]) / (this[i, j] * 4f), 0f, 1f); clr.B = clr.G; _sConnSprite.Colour = clr; _sConnSprite.Width = Scale * len; _sConnSprite.Rotation = ang; _sConnSprite.Render(shader); } } _sNodeSprite.Colour = Color4.White; _sNodeSprite.Scale = new Vector2(0.125f); for (int i = 0; i < Count; ++i) { if (i == SelectedVertex) continue; _sNodeSprite.Position = ((_positions[i] - CameraPos) * Scale) + centre; _sNodeSprite.Render(shader); } if (SelectedVertex != -1) { _sNodeSprite.Colour = Color4.LimeGreen; _sNodeSprite.Position = ((_positions[SelectedVertex] - CameraPos) * Scale) + centre; _sNodeSprite.Render(shader); } }
protected override void OnRender(SpriteShader shader, Vector2 renderPosition = new Vector2()) { myFrameSprite.Position = renderPosition; myFrameSprite.Colour = (IsEnabled ? OpenTK.Graphics.Color4.White : DisabledColour); myFrameSprite.Render(shader); }
public void Render(SpriteShader shader) { Vector2 centre = new Vector2(400f, 300f); _sNodeSprite.Colour = new Color4(127, 127, 127, 191); _sNodeSprite.Scale = new Vector2(0.125f * 1.05f); for (int i = 0; i < Count; ++i) { _sNodeSprite.Position = ((_positions[i] - CameraPos) * Scale) + centre; _sNodeSprite.Render(shader); } if (HighlightedEdges != null) { _sConnSprite.Height = 4f; for (int k = (HighlightedEdges.Length >> 1) - 1; k >= 0; --k) { int i = HighlightedEdges[k, 0]; int j = HighlightedEdges[k, 1]; Vector2 diff = _positions[j] - _positions[i]; Vector2 mid = (_positions[i] + _positions[j]) * 0.5f; float len = diff.Length; float ang = (float)Math.Atan2(diff.Y, diff.X); _sConnSprite.Position = ((mid - CameraPos) * Scale) + centre; Color4 clr = _sConnSprite.Colour; clr.G = 1f - OpenTKTools.Tools.Clamp(Math.Abs(len - this[i, j]) / (this[i, j] * 4f), 0f, 1f); clr.B = clr.G; _sConnSprite.Colour = clr; _sConnSprite.Width = Scale * len; _sConnSprite.Rotation = ang; _sConnSprite.Render(shader); } } if (CurrentRoute != null) { _sConnSprite.Height = 8f; for (int k = 0; k < CurrentRoute.Count; ++k) { int i = CurrentRoute[k]; int j = CurrentRoute[k + 1]; Vector2 diff = _positions[j] - _positions[i]; Vector2 mid = (_positions[i] + _positions[j]) * 0.5f; float len = diff.Length; float ang = (float)Math.Atan2(diff.Y, diff.X); _sConnSprite.Position = ((mid - CameraPos) * Scale) + centre; Color4 clr = _sConnSprite.Colour; clr.G = 1f - OpenTKTools.Tools.Clamp(Math.Abs(len - this[i, j]) / (this[i, j] * 4f), 0f, 1f); clr.B = clr.G; _sConnSprite.Colour = clr; _sConnSprite.Width = Scale * len; _sConnSprite.Rotation = ang; _sConnSprite.Render(shader); } } _sNodeSprite.Colour = Color4.White; _sNodeSprite.Scale = new Vector2(0.125f); for (int i = 0; i < Count; ++i) { if (i == SelectedVertex) { continue; } _sNodeSprite.Position = ((_positions[i] - CameraPos) * Scale) + centre; _sNodeSprite.Render(shader); } if (SelectedVertex != -1) { _sNodeSprite.Colour = Color4.LimeGreen; _sNodeSprite.Position = ((_positions[SelectedVertex] - CameraPos) * Scale) + centre; _sNodeSprite.Render(shader); } }
protected override void OnRender(SpriteShader shader, Vector2 renderPosition = new Vector2()) { myButtonSprite.Position = renderPosition; myButtonSprite.Colour = (IsEnabled ? Colour : DisabledColour); myButtonSprite.Render(shader); }
protected virtual void OnRender(SpriteShader shader, Vector2 renderPosition = new Vector2()) { }
public override void Draw(SpriteShader shader) { Sprite.Scale = Sprite.Scale * 0.95f; base.Draw(shader); }