private void EnableTextures() { for (int i = 0; i < this.textures.Length; i++) { TextureBase itexture = this.textures[i]; if (itexture != null) { if (itexture.GetType() == typeof(Texture2D)) { Texture2D texture = (Texture2D)itexture; Gl.glActiveTexture(Gl.GL_TEXTURE0 + i); Gl.glBindTexture(Gl.GL_TEXTURE_2D, texture.Handle); Gl.glEnable(Gl.GL_TEXTURE_2D); } if (itexture.GetType() == typeof(TextureCube)) { TextureCube cubetexture = (TextureCube)itexture; Gl.glActiveTexture(Gl.GL_TEXTURE0 + i); Gl.glBindTexture(Gl.GL_TEXTURE_CUBE_MAP, cubetexture.Handle); Gl.glEnable(Gl.GL_TEXTURE_CUBE_MAP); } } } }
private void DisableTextures() { for (int i = 0; i < this.textures.Length; i++) { TextureBase itexture = this.textures[i]; if (itexture != null) { if (itexture.GetType() == typeof(Texture2D)) { Gl.glActiveTexture(Gl.GL_TEXTURE0 + i); Gl.glBindTexture(Gl.GL_TEXTURE_2D, 0); Gl.glDisable(Gl.GL_TEXTURE_2D); } if (itexture.GetType() == typeof(TextureCube)) { Gl.glActiveTexture(Gl.GL_TEXTURE0 + i); Gl.glBindTexture(Gl.GL_TEXTURE_CUBE_MAP, 0); Gl.glDisable(Gl.GL_TEXTURE_CUBE_MAP); } itexture = null; } } }