Ho bisogno di gl_FragColor per "dipingere" i valori in virgola mobile, che possono anche essere negativi (x < 0) e> 1,0. Poi voglio usare il colore allegato del FBO su questi valori dove renderlo e usarlo come una trama in un altro FBO. Ora ho letto su http://www.khronos.org/opengles/sdk/docs/man/ (sotto glTexImage2D) che tutti i valori sono bloccati su un intervallo di [0, 1] e inoltre non ho trovato un'istruzione glClampColor. C'è la possibilità di trovare una soluzione qui o qualcuno ha un'idea che potrebbe aiutarmi con il mio problema? :)Trame a virgola mobile in OpenGL ES 2.0 su iOS senza bloccarle su [0, 1]
risolto
È possibile ei valori non vengono serrati a [0, 1] affatto, quando si utilizza texture virgola mobile, ma ha solo lavoro utilizzando GL_HALF_FLOAT_OES come formato interno del tessuto. L'utilizzo di GL_FLOAT si traduce invece in un oggetto framebuffer incompleto, il che è molto triste, perché stavo creando una tabella di area riassunta (SAT) e qui ho riscontrato un grosso problema di precisione. Quindi, in generale, su iPad2 sono supportati solo la metà della precisione (2 byte, 1 bit di segno + 5 bit di esponente + 10 frazione).
Lavorare creazione del FBO texture di colore attachement
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA, GL_HALF_FLOAT_OES, NULL);
Un'altra cosa da ricordare: strumenti saranno segnalare un "enum valido per l'argomento 'tipo'" messaggio, ma funziona comunque. Inoltre, il simulatore userà trame a piena precisione invece della precisione a metà specificata (penso che non ci sia alcun tipo di dati in C). Questo è il motivo per cui i problemi di precisione sul simulatore saranno probabilmente minori.
Ma la cosa più confusa è che "GL_OES_texture_float" è supportato quando si stampa glGetString (GL_EXTENSIONS). Tuttavia, come accennato prima, non funziona.
Qual è il tipo di trama interna che si sta utilizzando? –
Scusate ragazzi, spero che vi siate stati tutti benissimo. Grazie mille finora. Lo proverò questo fine settimana – RayDeeA
Il formato interno è GL_RGB. Ecco perché ero preoccupato perché il dottore dice che solo GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB e GL_RGBA sono ammessi e che tutti loro sono bloccati a [0,1] See: http://www.khronos.org/opengles/sdk/docs/man/under glTexImage2D – RayDeeA