public static Texture LoadTexture(string name) { if(!name.Contains(".png")) return new Texture(); Texture texture = new Texture(); texture.Name = name; Bitmap bmp = new Bitmap(ContentDir + name); texture.id = GL.GenTexture(); GL.BindTexture(TextureTarget.Texture2D, texture.id); BitmapData bmp_data = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, bmp_data.Width, bmp_data.Height, 0, OpenTK.Graphics.OpenGL.PixelFormat.Bgra, PixelType.UnsignedByte, bmp_data.Scan0); bmp.UnlockBits(bmp_data); GL.GenerateMipmap(GenerateMipmapTarget.Texture2D); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.LinearMipmapLinear); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMinFilter.Linear); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureWrapMode.Repeat); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureWrapMode.Repeat); textures.Add(texture); return texture; }
public static void RegisterFrameBuffer(int bufferIndex, string name) { Texture tex = new Texture(); tex.id = bufferIndex; tex.Name = name; tex.Type = VTKInt.Materials.Material.TexType.lightTexture; RegisterTexture(tex); }
public static void RegisterTexture(Texture texture) { textures.Add(texture); }