/ / Cosa può causare trame di bande in OpenGL? - Opengl, trame, rendering, differito, glitch visivo

Cosa può causare texture di banding in OpenGL? - opengl, textures, rendering, deferred, visual-glitch

Recentemente ho riscritto il motore di illuminazione in un progetto a cui ho lavorato e ho notato che sto ottenendo un bendaggio sulle trame, e solo in una direzione per faccia.

Il motore di illuminazione ora è il rendering differito, quindi è composto da 3 trame elaborate come dati di scena. Potrebbe essere questa la causa del bendaggio della trama?

Ecco uno screenshot: Trama di bande

Sembra accadere solo dove l'illuminazione è vicina.

Se aiuta, le mie 3 trame sono nei seguenti formati:

World fragment position: GL_RGBA16F - GL_FLOAT
World normal direction: GL_RGBA16F - GL_FLOAT
Fragment diffuse texture: GL_RGBA - GL_UNSIGNED_INT

risposte:

1 per risposta № 1

Grazie a maniaco del cricchetto e Andon M. Coleman.

Il mostro di Ratchet ha sottolineato che probabilmente si trattava di un errore di arrotondamento nell'angolo in cui la luce colpisce la superficie (portando a un punto basso tra normale e direzione).

La causa era che il formato interno dila trama in direzione normale è stata impostata su GL_RGBA16F - float a 16 bit che hanno causato l'arrotondamento. L'impostazione del formato su GL_RGBA32F ha corretto l'arrotondamento tenendo i float a 32 bit.

Andon M. Coleman ha sottolineato che dovrei smettere di usare GL_RGBA come formato interno perché è ambiguo e che GL_RGBA8 era appropriato