public static SpriteDrawable CreateSprite(Surface surface, Vector2D offset) { Vector2D[] vertexes = new Vector2D[4]; vertexes[0] = -offset; vertexes[1] = new Vector2D(-offset.X, surface.Height - offset.Y); vertexes[2] = new Vector2D(surface.Width - offset.X, surface.Height - offset.Y); vertexes[3] = new Vector2D(surface.Width - offset.X, -offset.Y); Scalar xScale = surface.Width / (Scalar)TextureHelper.GetPower(surface.Width); Scalar yScale = surface.Height / (Scalar)TextureHelper.GetPower(surface.Height); Vector2D[] coordinates = new Vector2D[4]; coordinates[1] = new Vector2D(0, 0); coordinates[0] = new Vector2D(0, yScale); coordinates[3] = new Vector2D(xScale, yScale); coordinates[2] = new Vector2D(xScale, 0); return(new SpriteDrawable(surface, vertexes, coordinates)); }
public static BumpmapSpriteDrawable CreateSprite( Surface surface, Surface bumpmap, bool xInverted, bool yInverted, Vector2D offset, Light light) { Vector2D[] vertexes = new Vector2D[4]; vertexes[0] = -offset; vertexes[1] = new Vector2D(-offset.X, surface.Height - offset.Y); vertexes[2] = new Vector2D(surface.Width - offset.X, surface.Height - offset.Y); vertexes[3] = new Vector2D(surface.Width - offset.X, -offset.Y); Scalar xScale = surface.Width / (Scalar)TextureHelper.GetPower(surface.Width); Scalar yScale = surface.Height / (Scalar)TextureHelper.GetPower(surface.Height); Vector2D[] coordinates = new Vector2D[4]; coordinates[1] = new Vector2D(0, 0); coordinates[0] = new Vector2D(0, yScale); coordinates[3] = new Vector2D(xScale, yScale); coordinates[2] = new Vector2D(xScale, 0); return(new BumpmapSpriteDrawable(surface, bumpmap, vertexes, coordinates, true, xInverted, yInverted, light)); }
public void Buffer(int refresh) { this.refresh = refresh; this.textureID = TextureHelper.LoadTexture2D(surface, flip, options); }