Per tutte le domande relative agli shader, ovvero la parte programmabile della pipeline GPU. Per domande sugli shader specifiche della lingua, vedere anche i tag [glsl] e [hlsl].
Ho impostato un codice di misurazione FPS in WebGL (basato su questa risposta SO ) e ho scoperto alcune stranezze con le prestazioni del mio shader di frammenti. Il codice esegue semplicemente il rendering di un singolo quad (o meglio due triangoli) su una tela di 1024x1024, quindi tutta la …
In generale, ramificarsi negli shader non è una buona idea. Ma ora ho uno shader con una condizione costante rispetto all'intero call call. Quindi il ramo che viene eseguito è sempre lo stesso per un richiamo. Questo tipo di ramificazione è ancora più costoso che avere più shader senza questi …
Sto imparando la mappatura normale. Ho capito che i valori RGB vengono convertiti in XYZ, ma la mia domanda è: come viene convertito e perché la normale mappa è di colore blu e viola?
Ho scoperto che alcuni motori utilizzano mappe derivate anziché mappe normali dello spazio tangente . Dopo alcune letture, sembra essere un modo davvero fantastico di sostituire le normali dello spazio tangente ma ci sono alcuni svantaggi nel usarle? Perché continuare a usare le normali dello spazio tangente? È possibile confrontare …
Mi chiedo qual è il modo migliore per integrare una funzione di loop dinamico in uno shader? Innanzitutto, sembra che le matrici dinamiche non siano possibili. Quindi, è meglio creare un array di dimensioni massime e riempirne solo una parte o definire array con dimensioni predefinite? Quindi, qual è il …
Il rendering della scena di solito comporta più di un programma shader che, nel mio caso, usano tutti gli stessi attributi e condividono almeno alcune delle uniformi. Per farli funzionare correttamente, attualmente gioco al sicuro, il che significa che ricollego gli attributi e ottengo le posizioni uniformi appropriate ogni volta …
Per eseguire il rendering di una scena con una singola sorgente luminosa utilizzando l'ombreggiatura phong, è possibile calcolare il colore finale di ciascun frammento passato nello shader di frammento in base ai componenti ambiente / diffuso / speculare sia del materiale che della sorgente luminosa. Questo può essere facilmente esteso …
So come funziona la mappatura dell'ombra ma non sto ottenendo la causa dell'acne ombra! Qualcuno può dirmi la causa dell'acne ombra in modo semplice e in che modo è correlato alla risoluzione della mappa di profondità?
Sto cercando di implementare un microfacet BRDF nel mio raytracer ma sto riscontrando alcuni problemi. Molti dei documenti e degli articoli che ho letto definiscono il termine di geometria parziale in funzione della vista e dei mezzi vettori: G1 (v, h). Tuttavia, durante l'implementazione ho ottenuto il seguente risultato: (La …
Cerco di implementare una simulazione di tessuto basata sulla posizione usando la tassellatura hardware. Ciò significa che voglio solo caricare un quadruplo di controllo sulla scheda grafica e quindi utilizzare tassellatura e ombreggiatura geometrica per creare i nodi nel tessuto. Questa idea segue il documento: Huynh, David, "Simulazione di tessuti …
Come funziona la cache con il rendering basato su tile? Ci sono dei suggerimenti su come migliorare il rapporto di hit della cache per questo? (ad esempio, se le tessere vengono elaborate in orizzontale e ho segmenti verticali di triangoli con la stessa trama, funziona peggio per la cache che …
Ho bisogno di compensare tutti i triangoli (blu), ciascuno indipendentemente dagli altri, usando il vertice-shader. Per manipolare il triangolo nel suo insieme, ho creato attributi personalizzati (vec3) per ciascun vertice (rosso) che rappresenta i vertici vicini a sinistra (viola) e a destra (verde). Da questo, ho bisogno di derivare il …
Stiamo cercando di ottimizzare l'illuminazione in fillrate. I chip grafici integrati sono molto lenti nell'accesso alla memoria. Esistono due Light Buffer: uno per Diffuse e uno per Specular. Entrambi utilizzano il formato R11G11B10F. C'è un modo per impacchettare due buffer in uno? Ad esempio, utilizzando il modello di colore Y'CbCr:
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.