Hey, I am trying to display rectangle and put texture on it. The problem I get is white screen, even if OpenGL ES error is all the time 0 (so no error). Here is my code:
public class Mesh { float[] _Vertices; short[] _Indices; byte[] _Colors; float _xTrans; int[] Textures = new int[1]; DDSFile TextureFile; bool ShouldMakeTexture = true; float[] _TextureCoordinates; int TextureID = 0; public float[] TextureCoordinates { get { return _TextureCoordinates; } set { _TextureCoordinates = value; } } public float[] Vertices { get { return _Vertices; } set { _Vertices = value; } } public Mesh (float[] vertices, byte[] colors, float xTranslation, short[] indices, DDSFile textureFile) { _Vertices = vertices; _Colors = colors; _xTrans = xTranslation; _Indices = indices; TextureFile = textureFile; } public void Render() { GL.FrontFace(All.Ccw); GL.Enable(All.CullFace); GL.CullFace(All.Back); GL.EnableClientState(All.VertexArray); GL.VertexPointer(3, All.Float, 0, _Vertices); if (ShouldMakeTexture) MakeTexture(); int Error = (int)GL.GetError(); GL.Enable(All.Texture2D); GL.EnableClientState(All.TextureCoordArray); GL.TexCoordPointer(2, All.Float, 0, TextureCoordinates); GL.BindTexture(All.Texture2D, Textures[0]); GL.DrawElements(All.Triangles, _Indices.Length, All.UnsignedShort, _Indices); GL.DisableClientState(All.VertexArray); GL.DisableClientState(All.TextureCoordArray); GL.Disable(All.CullFace); } private void MakeTexture() { GL.GenTextures(1, Textures); GL.BindTexture(All.Texture2D, TextureID); GL.TexParameter(All.Texture2D, All.TextureMinFilter, (int)All.Linear); GL.TexParameter(All.Texture2D,All.TextureMagFilter, (int)All.Linear); int[] parameters = new int[50]; GL.GetInteger(All.CompressedTextureFormats, parameters); int Error = (int)GL.GetError(); GL.CompressedTexImage2D(All.Texture2D, 0, All.Palette8Rgba8Oes, TextureFile.Header.Width, TextureFile.Header.Height, 0, TextureFile.Data.Length, TextureFile.Data); Error = (int)GL.GetError(); this.ShouldMakeTexture = false; } } So, in my GLView I create a mesh, supply indices, vertices and texture coordinates. In OnRenderFrame I just call mesh.Render() -> it should create texture. Code of MakeTexture executes fine, no error reported but I get white screen. So, is my code wrong, or is it my .dds file which is bad? Do you know any good tools for making compression for OpenGL ES? I used photoshop with Palette8 ARGB. Thanks for help, Konrad -- View this message in context: http://mono-for-android.1047100.n5.nabble.com/Compressed-texture-OES-Palette8-RBGBA-white-screen-tp5523218p5523218.html Sent from the Mono for Android mailing list archive at Nabble.com. _______________________________________________ Monodroid mailing list Monodroid@lists.ximian.com UNSUBSCRIBE INFORMATION: http://lists.ximian.com/mailman/listinfo/monodroid