Questo è il mio (imbustati) chiamata OpenGL che provoca una GL_INVALID_OPERATION
:glTexImage2D provoca GL_INVALID_OPERATION
GLTextures.TexImage2D(TexImage2DTarget.TEXTURE_2D, 0, TexImageInternalFormat.LUMINANCE_ALPHA, Width, Height, TexImageFormat.LUMINANCE_ALPHA, TexImagePixelType.UNSIGNED_BYTE, source.GetData());
Questa chiamata funziona su Windows ma non su iOS, in Windows tutto funziona bene e viene visualizzata la texture. Io uso gli stessi valori enum su iOS e Windows e anche lo shader è lo stesso (con alcuni suggerimenti di precisione su iOS). Anche la maggior parte delle trame funziona su iOS.
Ma le specifiche dicono: 'La ragione più importante per rendere questi nuovi formati compressi mostrano in modo identico a luminanza convenzionale e luminanza-alfa texel è quello di permettere alle applicazioni di sostituire perfettamente i nuovi formati compressi per GL_LUMINANCE esistenti e GL_LUMINANCE_ALPHA trame. Anche la scheda di riferimento rapido mostra che è supportata: http://www.khronos.org/opengles/sdk/docs/reference_cards/OpenGL-ES-2_0-Reference-card.pdf –
Si prega di notare che i formati interni di le trame non sono necessariamente supportate da alcuna GPU (PowerVR nel tuo caso). Il driver OpenGL potrebbe provare a convertire la texture luminance-alpha in alcuni formati interni supportati, ma sui driver dei dispositivi mobili di solito non lo fanno. Non lavoro con l'iPhone ma su Android controllo sempre se è supportato un certo formato di texture controllando le estensioni GL e quindi caricando la texture del formato corretto. Per favore mi scusi per aver visto il tuo problema da un altro punto di vista (Android), sui driver di OpenGL per iPhone può essere migliore. – keaukraine
Nessun problema, grazie. Ma ho pensato che dovrebbe funzionare. È difficile trovare ppl che ha affrontato lo stesso problema su iOS. –