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; } } }
public void Parameter (string name, TextureBase[] textures) { List<int> v = new List<int>(); for (int i = 0; i < textures.Length; i++) { v.Add(this.texturecount); this.device.Texture[this.texturecount] = textures[i]; this.texturecount += 1; } this.Parameter(name, v.ToArray()); }
public void Parameter(string name, TextureBase texture) { this.device.Texture[this.texturecount] = texture; this.Parameter(name, this.texturecount); this.texturecount += 1; }
public void Parameter (string name, TextureBase texture) { this.device.Texture[this.texturecount] = texture; this.Parameter(name, this.texturecount); this.texturecount += 1; }