Als «opengl» getaggte Fragen

Bei Fragen zur Verwendung der OpenGL-Grafikbibliothek.

9
Sollten neue Grafikprogrammierer Vulkan anstelle von OpenGL lernen?
Aus dem Wiki : "Die Vulkan-API wurde ursprünglich von Khrono als" OpenGL-Initiative der nächsten Generation "bezeichnet." Es handelt sich um eine grundsätzliche Neugestaltung, um OpenGL und OpenGL ES zu einer gemeinsamen API zu vereinen, die nicht rückwärts geht. " kompatibel mit bestehenden OpenGL - Versionen ". Sollten diejenigen, die sich …
53 opengl  api  vulkan 

6
Wie kann ich GLSL-Shader debuggen?
Beim Schreiben nicht-trivialer Shader (genau wie beim Schreiben eines anderen nicht-trivialen Codes) machen die Leute Fehler. [Bearbeiten] Ich kann aber nicht einfach debuggen wie jeder andere Code - Sie können nicht nur gdb anhängen oder das Visual Studio - Debugger , nachdem alle. Sie können nicht einmal printf debuggen, da …
45 opengl  glsl  debugging 

2
Was ist fwidth und wie funktioniert es?
Die OpenGL-Dokumentation gibt diese Breite an returns the sum of the absolute value of derivatives in x and y. Was bedeutet das in weniger mathematischen Begriffen und gibt es eine Möglichkeit, es zu visualisieren? Basierend auf meinem Verständnis der Funktion, fwidth(p)hat der Zugriff auf den Wert pin benachbarten Pixeln. Wie …
18 opengl 

1
Was bedeutet "st" im Kontext von OpenGL?
Ich habe den Begriff steinige Male gesehen, als ich mir andere OpenGL-Fragment-Shader ansah. Ich weiß jedoch nicht, wofür es steht oder wofür es verwendet wird. Hier ist ein Beispiel: uniform vec2 u_resolution; vec2 st = gl_FragCoord.xy/u_resolution; Ich kann verstehen, dass dies die Pixelkoordinaten in normalisierte Koordinaten von 0,0 - 1,0 …
18 opengl 



2
Wie implementiere ich einen Trackball in OpenGL?
Nachdem ich so viel über Transformationen gelesen habe, ist es Zeit, einen Trackball für meine App zu implementieren. Ich verstehe, dass ich einen Vektor vom Ursprung bis zum Klicken mit der Maus und dann einen anderen vom Ursprung bis zum Loslassen der Maus erstellen muss. Meine Frage ist, muss ich …
15 opengl  trackball 

1
OpenGL-Kompatibilität, Namenskonventionen und ARB vs EXT
Ich dachte, ich hätte ein allgemeines Verständnis für die Funktionsweise von OpenGL-Namenskonventionen und -Erweiterungen gewonnen, bis ich auf einen Fall stieß, der mich verwirrte. Hier ist mein bisheriges Verständnis: Kein Suffix - z glGenBuffers(). Diese Funktion ist Teil des Kernprofils. Die Wiki-Seite teilt mir mit, dass dies dem Kernprofil ab …
14 opengl 

3
Welche Methoden gibt es, um Transparenz in OpenGL zu rendern?
Alpha Blending kann aktiviert werden, um Oberflächen transparent zu machen: glDisable(GL_DEPTH_TEST); //or glDepthMask(GL_FALSE)? depth tests break blending glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); Dies funktioniert jedoch nur, wenn Objekte in der Reihenfolge von hinten nach vorne gerendert werden. Ansonsten erscheinen Dinge im Hintergrund vor näheren Objekten, wie z. B. der Boden im Bild …

1
Wann die perspektivisch korrekte Interpolation deaktiviert werden soll (keine Perspektive)
In GLSL ist die perspektivisch korrekte Interpolation von Scheitelpunktattributen die Standardeinstellung. Sie kann sie für bestimmte Scheitelpunktattribute mithilfe des nicht- perspektivischen Qualifikationsmerkmals deaktivieren . Abgesehen von Nachbearbeitungs-Shadern habe ich die perspektivisch korrekte Interpolation noch nie deaktiviert gesehen - gibt es andere Anwendungsfälle? Macht es überhaupt einen Unterschied in Bezug auf …


1
Aufeinanderfolgende OpenGL Compute Shader-Aufrufe synchronisieren
Ich habe ein paar Compute-Shader, die in einer bestimmten Reihenfolge ausgeführt werden müssen und deren Ausgabe von vorherigen Eingaben abhängt. Im Idealfall muss ich niemals einen Pufferspeicher clientseitig kopieren und die gesamte Arbeit an der GPU ausführen. Angenommen, ich habe zwei Compute-Shader kompiliert und als program_oneund verknüpft program_two. Angenommen, ich …

1
Was macht "makeContextCurrent" genau?
Ich bin ziemlich verwirrt über diese Funktion. Die GLFW-Kontextreferenz lautet wie folgt: Diese Funktion macht den OpenGL- oder OpenGL ES-Kontext des angegebenen Fensters im aufrufenden Thread aktuell. Ein Kontext kann jeweils nur für einen einzelnen Thread aktuell gemacht werden, und jeder Thread kann jeweils nur einen aktuellen Kontext haben. Aber …
12 opengl  c++ 

2
GL_STATIC_DRAW vs GL_DYNAMIC_DRAW vs GL_STREAM_DRAW: Ist das wichtig?
In OpenGL die Pufferobjektfunktionen ( glBufferData, glBufferSubDataund wahrscheinlich ein paar andere) haben einen Parameterusage , durch die Dokumentation als Hinweis auf die beabsichtigte Verwendung beschrieben, die die Umsetzung Ausbeute bessere Leistung zu helfen bedeutete. Verwendung Gibt das erwartete Verwendungsmuster des Datenspeichers an. Die symbolische Konstante sein muss GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, …

2
Abgeleitete Karten vs. Tangentenraum Normale Karten
Ich entdeckte, dass einige Engines abgeleitete Karten anstelle von normalen Karten im Tangentenraum verwenden . Nach einigem Lesen scheint es eine wirklich großartige Möglichkeit zu sein, Tangentenraumnormalen zu ersetzen, aber gibt es einige Nachteile, wenn man sie verwendet? Warum immer noch Tangentenraumnormalen verwenden? Kann man sowohl Vor- als auch Nachteile …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.