private void InitializeTexture(int textureId) { string texturePath = string.Format(ImageTexture.DEFAULT_TEXTURE_PATH_TEMPLATE, textureId); if (!File.Exists(texturePath)) { File.Copy("Resources/Textures/128-128-128.png", texturePath); } string textureFileName = string.Format(ImageTexture.DEFAULT_TEXTURE_FILENAME_TEMPLATE, textureId); ImageTexture tmpImageTexture = new ImageTexture(textureFileName, RotateFlipType.RotateNoneFlipNone); Console.WriteLine(tmpImageTexture.TexturePointer); TextureUnit tu = ImageTexture.TEXTURE_UNITS_MAPPING[textureId]; Gl.ActiveTexture(tu); tmpImageTexture.Bind(); tmpImageTexture.Release(); Console.WriteLine(textureId); Console.WriteLine(tu); Console.WriteLine(textureFileName); }
public override void SetProgram() { if (RegisteredStages.Count == 0) { shaderProgram = ShadersManager.Instance.GetDefaultShader(); } else { shaderProgram = ShadersManager.Instance.BuildShaderProgram(RegisteredStages.ToArray()); } //---TODO: Fix bug on ImageTexture that prevents for (int i = 0; i < DEFAULT_TEXTURE_SLOT_MAX; i++) { string texturePath = string.Format(ImageTexture.DEFAULT_TEXTURE_PATH_TEMPLATE, i); if (!File.Exists(texturePath)) { Console.WriteLine("WARNING: texture {0} not found, using default texture", i); if (!File.Exists(Path.Combine(ImageTexture.TEXTURES_FOLDER, DEFAULT_TEXTURE_NAME))) { CreateDefaultTexture(); } File.Copy(Path.Combine(ImageTexture.TEXTURES_FOLDER, DEFAULT_TEXTURE_NAME), texturePath); } } ImageTexture tex0 = new ImageTexture(string.Format(ImageTexture.DEFAULT_TEXTURE_FILENAME_TEMPLATE, 0), RotateFlipType.RotateNoneFlipNone); ImageTexture tex1 = new ImageTexture(string.Format(ImageTexture.DEFAULT_TEXTURE_FILENAME_TEMPLATE, 1), RotateFlipType.RotateNoneFlipNone); ImageTexture tex2 = new ImageTexture(string.Format(ImageTexture.DEFAULT_TEXTURE_FILENAME_TEMPLATE, 2), RotateFlipType.RotateNoneFlipNone); ImageTexture tex3 = new ImageTexture(string.Format(ImageTexture.DEFAULT_TEXTURE_FILENAME_TEMPLATE, 3), RotateFlipType.RotateNoneFlipNone); ImageTexture tex4 = new ImageTexture(string.Format(ImageTexture.DEFAULT_TEXTURE_FILENAME_TEMPLATE, 4), RotateFlipType.RotateNoneFlipNone); ImageTexture tex5 = new ImageTexture(string.Format(ImageTexture.DEFAULT_TEXTURE_FILENAME_TEMPLATE, 5), RotateFlipType.RotateNoneFlipNone); ImageTexture tex6 = new ImageTexture(string.Format(ImageTexture.DEFAULT_TEXTURE_FILENAME_TEMPLATE, 6), RotateFlipType.RotateNoneFlipNone); ImageTexture tex7 = new ImageTexture(string.Format(ImageTexture.DEFAULT_TEXTURE_FILENAME_TEMPLATE, 7), RotateFlipType.RotateNoneFlipNone); Gl.ActiveTexture(TextureUnit.Texture0); tex0.Bind(); tex0.Release(); Gl.ActiveTexture(TextureUnit.Texture1); tex1.Bind(); tex1.Release(); Gl.ActiveTexture(TextureUnit.Texture2); tex2.Bind(); tex2.Release(); Gl.ActiveTexture(TextureUnit.Texture3); tex3.Bind(); tex3.Release(); Gl.ActiveTexture(TextureUnit.Texture4); tex4.Bind(); tex4.Release(); Gl.ActiveTexture(TextureUnit.Texture5); tex5.Bind(); tex5.Release(); Gl.ActiveTexture(TextureUnit.Texture6); tex6.Bind(); tex6.Release(); Gl.ActiveTexture(TextureUnit.Texture7); tex7.Bind(); tex7.Release(); //--- //InitializeTextures(); }