public void DrawSprite(Sprite sprite) { Gl.glBegin(Gl.GL_TRIANGLES); { for (int i = 0; i < Sprite.VertexAmount; i++) { Gl.glBindTexture(Gl.GL_TEXTURE_2D, sprite.Texture.Id); DrawImmediateModeVertex( sprite.VertexPositions[i], sprite.VertexColors[i], sprite.VertexUVs[i]); } } Gl.glEnd(); }
public CharacterSprite CreateSprite(char c) { CharacterData charData = _characterData[c]; Sprite sprite = new Sprite(); sprite.Texture = _texture; // Setup UVs Point topLeft = new Point((float)charData.X / (float)_texture.Width, (float)charData.Y / (float)_texture.Height); Point bottomRight = new Point(topLeft.X + ((float)charData.Width / (float)_texture.Width), topLeft.Y + ((float)charData.Height / (float)_texture.Height)); sprite.SetUVs(topLeft, bottomRight); sprite.SetWidth(charData.Width); sprite.SetHeight(charData.Height); sprite.SetColor(new Color(1, 1, 1, 1)); return new CharacterSprite(sprite, charData); }
public CharacterSprite(Sprite sprite, CharacterData data) { Data = data; Sprite = sprite; }