public OpenGLESCubemapTexture( IntPtr pixelsFront, IntPtr pixelsBack, IntPtr pixelsLeft, IntPtr pixelsRight, IntPtr pixelsTop, IntPtr pixelsBottom, int width, int height, PixelFormat format) : base(TextureTarget.TextureCubeMap, width, height) { _texComponentCount = OpenGLESFormats.MapTextureComponentCount(format, false); _format = OpenGLESFormats.MapPixelFormat(format); _type = OpenGLESFormats.MapPixelType(format); Bind(); GL.TexParameter(TextureTarget.TextureCubeMap, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear); Utilities.CheckLastGLES3Error(); GL.TexParameter(TextureTarget.TextureCubeMap, TextureParameterName.TextureMinFilter, (int)TextureMagFilter.Linear); Utilities.CheckLastGLES3Error(); GL.TexParameter(TextureTarget.TextureCubeMap, TextureParameterName.TextureWrapS, (int)TextureWrapMode.ClampToEdge); Utilities.CheckLastGLES3Error(); GL.TexParameter(TextureTarget.TextureCubeMap, TextureParameterName.TextureWrapT, (int)TextureWrapMode.ClampToEdge); Utilities.CheckLastGLES3Error(); GL.TexParameter(TextureTarget.TextureCubeMap, TextureParameterName.TextureWrapR, (int)TextureWrapMode.ClampToEdge); Utilities.CheckLastGLES3Error(); SetFacePixels(0, pixelsRight); SetFacePixels(1, pixelsLeft); SetFacePixels(2, pixelsTop); SetFacePixels(3, pixelsBottom); SetFacePixels(4, pixelsBack); SetFacePixels(5, pixelsFront); }
public OpenGLESTexture2D(int width, int height, PixelFormat format, IntPtr pixelData) : this(1, width, height, format, OpenGLESFormats.MapPixelFormat(format), OpenGLESFormats.MapPixelType(format)) { SetTextureData(1, 0, 0, width, height, pixelData, FormatHelpers.GetPixelSizeInBytes(format) * width * height); }
public override DeviceTexture2D CreateTexture( int mipLevels, int width, int height, PixelFormat format, DeviceTextureCreateOptions createOptions) { int pixelSizeInBytes = FormatHelpers.GetPixelSizeInBytes(format); OpenTK.Graphics.ES30.PixelFormat pixelFormat = OpenGLESFormats.MapPixelFormat(format); if (createOptions == DeviceTextureCreateOptions.DepthStencil) { if (format != PixelFormat.R16_UInt && format != PixelFormat.R32_Float) { throw new NotImplementedException("The only supported depth texture formats are R16_UInt and R32_Float."); } pixelFormat = OpenTK.Graphics.ES30.PixelFormat.DepthComponent; } return(new OpenGLESTexture2D(mipLevels, width, height, format, pixelFormat, OpenGLESFormats.MapPixelType(format))); }