Sto provando a implementare uno schema di attraversamento di otto utilizzando OpenGL e GLSL e vorrei mantenere i dati in trame. Mentre c'è una grande selezione di formati da usare per i dati di texture (float e interi di dimensioni diverse) ho qualche problema nel capire se c'è un modo per avere un controllo più preciso sui bit e ottenere così una maggiore efficienza e storage compatto. Questo potrebbe essere un problema generale, non solo applicando a OpenGL e GLSL.Controllo preciso sui bit di trama in GLSL
Come un semplice esempio di giocattolo, diciamo che ho un texel contenente un intero a 16 bit. Voglio codificare due booleans di 1 bit ciascuno, un valore intero a 10 bit e quindi un valore intero a 4 bit in questo texel. Esiste una tecnica per codificarlo quando si crea la trama e quindi decodificare questi componenti quando si campiona la trama utilizzando uno shader GLSL?
Modifica: Sembra che in effetti sto cercando tecniche di manipolazione dei bit. Dal momento che sembrano essere supportati, dovrei stare bene dopo qualche ricerca in più.
Stai chiedendo come si fa la manipolazione del bit? –
La manipolazione dei bit è possibile in GLSL 1.3 (OpenGL 3.0), non so come sia possibile leggere il raw int dalla texture in GLSL comunque ... Texture2D restituisce float vec4 –
@NicolBolas: dopo qualche altra ricerca, sembra che Sono. Non l'ho fatto molto, quindi non ero sicuro. Se GLSL lo supporta, dovrei essere in grado di capire da dove iniziare a conoscerlo! –