internal int GetTextureLayerIndex(RTextureLayer layer) { switch (layer) { case RTextureLayer.DIFFUSE: return(0); case RTextureLayer.NORMAL: return(1); case RTextureLayer.AMBIENT: return(2); case RTextureLayer.SPECULAR: return(3); case RTextureLayer.GLOW: return(4); case RTextureLayer.HEIGHT: return(5); case RTextureLayer.DETAIL: return(6); case RTextureLayer.TEXTURE7: return(7); case RTextureLayer.TEXTURE8: return(8); case RTextureLayer.TEXTURE9: return(9); case RTextureLayer.TEXTURE10: return(10); case RTextureLayer.TEXTURE11: return(11); case RTextureLayer.TEXTURE12: return(12); case RTextureLayer.TEXTURE13: return(13); case RTextureLayer.TEXTURE14: return(14); case RTextureLayer.TEXTURE15: return(15); default: return(0); } }
public RTexture GetTexture(RTextureLayer TextureLayer) { if (Textures[GetTextureLayerIndex(TextureLayer)] != null) { return(Textures[GetTextureLayerIndex(TextureLayer)]); } else { return(null); } }
public void SetSamplerValue(RTextureLayer layer, RTexture texture) { int unival = GetTexUniformValue(layer); int loc = GetTexUniformLocation(layer); GL.Uniform1(loc, unival); REngine.CheckGLError(); TextureUnit unit = (TextureUnit)(int)layer; GL.ActiveTexture(unit); REngine.CheckGLError(); texture.Bind(); REngine.CheckGLError(); }
internal int GetTexUniformValue(RTextureLayer layer) { RTextureUnit name = RTextureUnit.DIFFUSE; switch (layer) { case RTextureLayer.AMBIENT: name = RTextureUnit.AMBIENT; break; case RTextureLayer.DETAIL: name = RTextureUnit.DETAIL; break; case RTextureLayer.DIFFUSE: name = RTextureUnit.DIFFUSE; break; case RTextureLayer.GLOW: name = RTextureUnit.GLOW; break; case RTextureLayer.HEIGHT: name = RTextureUnit.HEIGHT; break; case RTextureLayer.NORMAL: name = RTextureUnit.NORMAL; break; case RTextureLayer.SPECULAR: name = RTextureUnit.SPECULAR; break; case RTextureLayer.TEXTURE7: name = RTextureUnit.TEXTURE7; break; case RTextureLayer.TEXTURE8: name = RTextureUnit.TEXTURE8; break; case RTextureLayer.TEXTURE9: name = RTextureUnit.TEXTURE9; break; case RTextureLayer.TEXTURE10: name = RTextureUnit.TEXTURE10; break; case RTextureLayer.TEXTURE11: name = RTextureUnit.TEXTURE11; break; case RTextureLayer.TEXTURE12: name = RTextureUnit.TEXTURE12; break; case RTextureLayer.TEXTURE13: name = RTextureUnit.TEXTURE13; break; case RTextureLayer.TEXTURE14: name = RTextureUnit.TEXTURE14; break; case RTextureLayer.TEXTURE15: name = RTextureUnit.TEXTURE15; break; } return((int)name); }
internal int GetTexUniformLocation(RTextureLayer layer) { string name = ""; switch (layer) { case RTextureLayer.AMBIENT: name = "ambient"; break; case RTextureLayer.DETAIL: name = "detail"; break; case RTextureLayer.DIFFUSE: name = "diffuse"; break; case RTextureLayer.GLOW: name = "glow"; break; case RTextureLayer.HEIGHT: name = "height"; break; case RTextureLayer.NORMAL: name = "normal"; break; case RTextureLayer.SPECULAR: name = "specular"; break; case RTextureLayer.TEXTURE7: name = "texture7"; break; case RTextureLayer.TEXTURE8: name = "texture8"; break; case RTextureLayer.TEXTURE9: name = "texture9"; break; case RTextureLayer.TEXTURE10: name = "texture10"; break; case RTextureLayer.TEXTURE11: name = "texture11"; break; case RTextureLayer.TEXTURE12: name = "texture12"; break; case RTextureLayer.TEXTURE13: name = "texture13"; break; case RTextureLayer.TEXTURE14: name = "texture14"; break; case RTextureLayer.TEXTURE15: name = "texture15"; break; } return(GetUniformLocation(name)); }
public void SetSamplerValue(RTextureLayer layer, RFrameBuffer frameBuffer) { SetSamplerValue(layer, frameBuffer.BackBuffer); }
public void SetTexture(RTextureLayer TextureLayer, RTexture texture) { Textures[GetTextureLayerIndex(TextureLayer)] = texture; }