Per favore correggimi se sbaglio. Quando si usano vertex e pixel shader, di solito forniamo il codice per calcolare l'output gl_position del vertex shader. Quindi, ci ritroviamo con l'input gl_FragCoord nel pixel shader. Quali sono il nome delle operazioni eseguite da OpenGL per calcolare gl_FragCoord da gl_position? È corretto che quelli siano "proiezione" e "trasformazione delle coordinate di clip"? Quindi, quali sono esattamente le trasformazioni eseguite durante quelle operazioni? In altri termini, qual è la relazione matematica tra gl_FragCoord e gl_position, che potrei usare per sostituire la funzione openGL?In glsl, qual è la formula usata per calcolare gl_fragCoord da gl_position?
Grazie mille per qualsiasi contributo.
Ho avuto lo stesso problema e la domanda un po 'di tempo fa, e ho risposto io stesso nella domanda "OpenGL: Compute coord space space da window space coord in GLSL?", Che puoi trovare un link a destra. – karx11erx
Mi dispiace karx11erx, questo non è quello che voglio. In realtà, penso che quello che voglio sia il contrario. Non voglio "non proiettare", voglio proiettare le mie coordinate 3d sulle coordinate dello schermo 2D. – wil
Potete vedere come fare anche lì, perché lo shader prima non proietta (dallo spazio di visualizzazione della luce) e poi proietta (nello spazio dello schermo del visualizzatore). – karx11erx