Esempio n. 1
0
        public unsafe void AddTextureMap(byte[] data, int imageCount)
        {
            uint h;

            gl.GenTextures(1, &h);
            texture = h;
            gl.ActiveTexture(TextureUnit.Texture0);
            gl.BindTexture(TextureTarget.Texture2d, texture);

            var textureFormat = TexturePixelFormat.Rgb8;
            var format        = PixelFormat.Rgb;

            fixed(byte *p = data)
            {
                gl.TexImage2D(TextureTarget2D.Texture2d, 0, textureFormat, 16, 16 * imageCount, 0, format, PixelType.UnsignedByte, new IntPtr(p));
            }

            gl.TexParameteri(TextureTarget.Texture2d, TextureParameteri.TextureWrapS, (int)TextureParameterValue.ClampToEdge);
            gl.TexParameteri(TextureTarget.Texture2d, TextureParameteri.TextureWrapT, (int)TextureParameterValue.ClampToEdge);
            gl.TexParameteri(TextureTarget.Texture2d, TextureParameteri.TextureMinFilter, (int)TextureParameterValue.Nearest);
            gl.TexParameteri(TextureTarget.Texture2d, TextureParameteri.TextureMagFilter, (int)TextureParameterValue.Nearest);
        }