Domande taggate «opengl»

Per domande riguardanti l'uso della libreria grafica OpenGL.


6
Come posso eseguire il debug degli shader GLSL?
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 …
45 opengl  glsl  debugging 

1
Cosa significa "st" nel contesto di OpenGL?
Ho visto il termine stvenire fuori alcune volte guardando altri shader di frammenti OpenGL. Tuttavia, non so che cosa rappresenta o a cosa serve. Ecco un esempio: uniform vec2 u_resolution; vec2 st = gl_FragCoord.xy/u_resolution; Posso capire che questo sta convertendo le coordinate dei pixel in coordinate normalizzate di 0,0 - …
19 opengl 

2
Che cos'è fwidth e come funziona?
La documentazione di OpenGL afferma che fwidth returns the sum of the absolute value of derivatives in x and y. Cosa significa questo in termini meno matematici e c'è un modo per visualizzarlo? Sulla base della mia comprensione della funzione, fwidth(p)ha accesso al valore di pin pixel vicini. Come funziona …
18 opengl 



2
Come implementare una trackball in OpenGL?
Dopo così tante letture sulle trasformazioni, è tempo di implementare una trackball per la mia app. Capisco di dover creare un vettore dall'origine a cui viene fatto clic sul mouse e quindi un altro dall'origine a dove viene rilasciato il mouse. La mia domanda è: devo trasforare i pixel (x, …
15 opengl  trackball 

1
Compatibilità OpenGL, convenzioni di denominazione e ARB vs EXT
Pensavo di aver trovato una comprensione generale di come funzionavano le convenzioni e le estensioni dei nomi OpenGL, fino a quando non mi sono imbattuto in un caso che mi ha confuso. Ecco la mia comprensione finora: Nessun suffisso - ad es glGenBuffers(). Questa funzione fa parte del profilo principale. …
14 opengl 

3
Quali sono alcuni metodi per rendere la trasparenza in OpenGL
La fusione alfa può essere attivata per rendere trasparenti le superfici, in questo modo: glDisable(GL_DEPTH_TEST); //or glDepthMask(GL_FALSE)? depth tests break blending glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); Ma questo funziona solo se gli oggetti sono resi in primo piano. Altrimenti le cose sullo sfondo appaiono davanti agli oggetti più vicini, come il pavimento …

1
Quando disabilitare l'interpolazione corretta della prospettiva (nessuna prospettiva)
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 …


2
OpenGL - Rilevamento dei bordi
Vorrei caricare mesh arbitrarie e tracciare spesse linee nere lungo i bordi per ottenere un aspetto simile a quello dei toni. Sono riuscito a disegnare una sagoma nera attorno agli oggetti usando il buffer dello stencil. Puoi vedere il risultato qui: Ma ciò che manca sono le linee nere nell'oggetto …

1
Cosa fa esattamente "makeContextCurrent"?
Sono piuttosto confuso riguardo a quella funzione. Il riferimento al contesto GLFW dice quanto segue: Questa funzione rende corrente il contesto OpenGL o OpenGL ES della finestra specificata sul thread chiamante. Un contesto può essere reso corrente su un singolo thread alla volta e ogni thread può avere un solo …
12 opengl  c++ 

2
GL_STATIC_DRAW vs GL_DYNAMIC_DRAW vs GL_STREAM_DRAW: importa?
In OpenGL le funzioni degli oggetti buffer ( glBufferData, glBufferSubDatae probabilmente alcuni altri) hanno un parametro usage, descritto dalla documentazione come un suggerimento dell'uso previsto, probabilmente destinato ad aiutare l'implementazione a produrre prestazioni migliori. uso Specifica il modello di utilizzo previsto dell'archivio dati. La costante simbolica deve essere GL_STREAM_DRAW, GL_STREAM_READ, …


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.