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 …
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 …
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 …
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 …
Vor ein paar Jahren habe ich versucht, dieses GPU-Juwel in OpenGL zu implementieren , um mithilfe von Marching Cubes prozedurales 3D-Terrain zu generieren . Der Artikel schlägt vor, Marching Cubes in einem Geometrie-Shader mit maximaler Effizienz zu implementieren. Das bedeutet, dass ich den Shader einmal für jedes Voxel in der …
Ich habe eine Punktwolke, die auf dem Bildschirm gerendert wird. Jeder Punkt hat seine Position und Farbe sowie eine ID. Ich wurde gebeten, die IDs für jeden Punkt auf eine Textur zu rendern, also erstellte ich einen FBO und fügte zwei Texturen hinzu, eine für Farbe und eine für Tiefe. …
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 …
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 …
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 …
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 …
Ich bin neu in Shadern und weiß, dass Sie mit gl_FragColor Pixel färben können, aber manchmal gibt es Folgendes: vec2 uv = gl_FragCoord.xy / screenSize; // or resolution or smthn depends on the implementation Wenn gl_FragCoord wie Pixelkoordinaten ist, was bekommt UV ? Warum wird es oft in GLSL gemacht? …
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 …
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 …
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, …
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 …
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.