23 lines
827 B
C#
23 lines
827 B
C#
using Engine.Asset;
|
|
using Engine.Renderer.Pixel;
|
|
|
|
namespace Engine.Renderer.Texture;
|
|
|
|
public interface ITexture : IConstTexture
|
|
{
|
|
public void UploadPixels<T>(int x, int y, int width, int height, T[,] pixels)
|
|
where T : struct, IPixel;
|
|
}
|
|
|
|
public static class TextureExtensions
|
|
{
|
|
public static void UploadPixels<T>(this ITexture texture, Image<T> image) where T : struct, IPixel
|
|
=> texture.UploadPixels(0, 0, image);
|
|
|
|
public static void UploadPixels<T>(this ITexture texture, int x, int y, Image<T> image)
|
|
where T : struct, IPixel =>
|
|
texture.UploadPixels(x, y, image.Width, image.Height, image.Pixels);
|
|
|
|
public static void UploadPixels<T>(this ITexture texture, T[,] pixels) where T : struct, IPixel
|
|
=> texture.UploadPixels(0, 0, texture.Width, texture.Height, pixels);
|
|
} |