private void UploadTex(Bitmap b, MDL0.Model.MaterialSet.Material m, int Id) { Gl.glBindTexture(Gl.GL_TEXTURE_2D, Id); Gl.glColor3f(1, 1, 1); BitmapData d = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); Gl.glTexImage2D(Gl.GL_TEXTURE_2D, 0, Gl.GL_RGBA8, b.Width, b.Height, 0, Gl.GL_BGRA, Gl.GL_UNSIGNED_BYTE, d.Scan0); b.UnlockBits(d); Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_NEAREST); Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_NEAREST); bool repeatS = (m.texImageParam >> 16 & 0x1) == 1; bool repeatT = (m.texImageParam >> 17 & 0x1) == 1; bool flipS = (m.texImageParam >> 18 & 0x1) == 1; bool flipT = (m.texImageParam >> 19 & 0x1) == 1; int S; if (repeatS && flipS) { S = Gl.GL_MIRRORED_REPEAT; } else if (repeatS) { S = Gl.GL_REPEAT; } else { S = Gl.GL_CLAMP; } int T; if (repeatT && flipT) { T = Gl.GL_MIRRORED_REPEAT; } else if (repeatT) { T = Gl.GL_REPEAT; } else { T = Gl.GL_CLAMP; } Gl.glTexParameterf(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_S, S); Gl.glTexParameterf(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_T, T); }
public MDL0MaterialEditor(MDL0.Model.MaterialSet.Material Material) { this.Material = Material; InitializeComponent(); }
public MDL0Viewer(MDL0.Model Model) { this.Model = Model; InitializeComponent(); simpleOpenGlControl1.MouseWheel += new MouseEventHandler(simpleOpenGlControl1_MouseWheel); }