GLSL è il linguaggio di ombreggiatura OpenGL. Usa questo tag per domande che riguardano specificamente gli shader scritti in questa lingua. Per domande generiche sugli shader, utilizzare invece [shader].
Quando si scrivono shader non banali (proprio come quando si scrive qualsiasi altro pezzo di codice non banale), le persone commettono errori. [citazione necessaria] Tuttavia, non posso semplicemente eseguirne il debug come qualsiasi altro codice - dopo tutto non puoi semplicemente collegare gdb o il debugger di Visual Studio. Non …
Mi ritrovo spesso a copiare e incollare codice tra diversi shader. Ciò include sia determinati calcoli o dati condivisi tra tutti gli shader in una singola pipeline, sia i calcoli comuni di cui hanno bisogno tutti i miei shader di vertice (o qualsiasi altro stadio). Certo, è una pratica orribile: …
Ho provato a implementare il Perlin Noise da solo usando solo la teoria (seguendo flafla2.github.io/2014/08/09/perlinnoise.html). Sfortunatamente non sono stato in grado di ottenere l'aspetto del rumore "originale" Perlin. Qual è la ragione per cui il codice seguente mostra una versione a blocchi di Perlin Noise? Cosa dovrei migliorare / modificare …
Sto scoprendo il meraviglioso mondo della matematica e sto colpendo un enorme muro con PBR e denominazione, quindi ho alcune domande: per quanto ho capito BRDF descrivono come un materiale reagisce alla luce (luce diretta in ingresso e riflessi). Ma in "Cook-Torrance" non vedo nulla sui riflessi, non capisco come …
In GLSL, l'interpolazione corretta in prospettiva degli attributi del vertice è l'impostazione predefinita: è possibile disabilitarla per specifici attributi del vertice usando il qualificatore noperspective . A parte gli shader post-elaborazione, non ho mai visto l'interpolazione corretta della prospettiva disabilitata - ci sono altri casi d'uso? Inoltre, fa davvero la …
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 …
Quando si usano le trame in GLSL, è meglio calcolare le coordinate finali della trama nello shader di vertice e consegnarle allo shader di frammento usando varyings. Esempio con un semplice capovolgimento nella coordinata y: // Vertex shader attribute vec2 texture; varying highp vec2 texCoord; // ... void main() { …
Prima di tutto, voglio dire che ho letto molti post sulla mappatura dell'ombra usando mappe di profondità e cubemap e capisco come funzionano e inoltre, ho esperienza di lavoro con loro usando OpenGL, ma ho un problema con l'implementazione Tecnica di mappatura dell'ombra omnidirezionale che utilizza una sorgente luminosa a …
Sto cercando di implementare il modello BRDF di microfacet. Sto leggendo le diapositive di Sebastien Lagarde . Ho implementato le formule per il mio codice ma penso che l'immagine del risultato sia errata. Il giallo è il colore di base del materiale. Il colore speculare è rosso per vedere correttamente. …
Sto creando un renderer utilizzando OpenGL moderno (3.1 e versioni successive) e ora sto cercando di creare un modo efficiente ma flessibile di gestire le uniformi. Ho letto su oggetti buffer uniformi e su quale approccio "comune" è usare questi (purtroppo quest'ultimo non mi ha dato tutti i risultati sperati). …
Ho giocato con la mappatura delle ombre in OpenGL usando trame di profondità. La trama di profondità va bene e posso mapparla sulla scena ma ho alcuni strani artefatti sul retro dell'oggetto: La mia domanda è: cosa sta causando questo e come posso risolverlo? Lo shader di frammenti che sto …
Mi piacerebbe sapere se c'è qualche impatto sulle prestazioni in base a come strutturo le mie divise shader. Ad esempio, passare 4 float è peggio che passare un singolo VEC4?
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.