Entschuldigung für die folgende Noob-Frage, ich kann nur nirgendwo eine zufriedenstellende Antwort finden ... Wenn ich ein einfaches, an der Achse ausgerichtetes Quad aus zwei Dreiecken rendere, verstehe ich nicht, warum an der diagonalen Kante, an der sich diese Dreiecke treffen, keine Artefakte sichtbar sind. Einige dieser Pixel müssen sich …
Ich frage mich, wie ich eine dynamische Schleifenfunktion am besten in einen Shader integrieren kann. Erstens scheinen dynamische Arrays nicht möglich zu sein. Ist es also besser, ein Array mit maximaler Größe zu erstellen und nur einen Teil davon zu füllen oder Arrays mit vordefinierten Größen zu definieren? Was ist …
Ich möchte beliebige Netze laden und dicke schwarze Linien entlang der Kanten zeichnen, um ein Toon-Shading-ähnliches Aussehen zu erhalten. Mit dem Schablonenpuffer konnte ich eine schwarze Silhouette um die Objekte zeichnen. Sie können das Ergebnis hier sehen: Was jedoch fehlt, sind die schwarzen Linien im Objekt selbst. Ich dachte darüber …
Das Rendern der Szene umfasst normalerweise mehr als ein Shader-Programm, das in meinem Fall alle dieselben Attribute verwenden und zumindest einige der Uniformen gemeinsam nutzen. Damit sie richtig funktionieren, gehe ich derzeit auf Nummer sicher, dh ich binde die Attribute neu und erhalte bei jedem Wechsel zwischen Shader-Programmen die entsprechenden …
Sind die Unterschiede zwischen diesen beiden APIs geringfügige Implementierungsdetails, die bedeuten, dass ich sie für alles verwenden kann, sobald ich eine gelernt habe? Oder gibt es Gründe, das eine und nicht das andere zu lernen, wenn ich es generell verwenden möchte, ohne in Zukunft eine andere API neu lernen zu …
Ich habe eine OpenGL-Anwendung, die Schablonentests ziemlich häufig verwendet, um unregelmäßige Formen zu rendern (ein bisschen wie ein einfaches 2-D- CSG ). Wenn ich herausfinden könnte, wie viele Fragmente den Schablonentest bestanden und tatsächlich gerendert wurden, wäre dies sehr hilfreich, um einige Berechnungen auf der ganzen Linie zu vereinfachen. Insbesondere …
Die Konvention in Grafiken lautet, dass weniger Zustandsänderungen besser sind als mehr Zustandsänderungen (Shader wechseln, Puffer binden, Texturen binden usw.). Bei Texturen ist es schneller, viele Polygone mit einem einzigen Atlas (zum Rendern von Sprites / Text) zu rendern, als für jedes Polygon einzeln eine neue Textur zu binden. Gilt …
tl; dr: Mathematisches Problem in der projektiven Geometrie: Wie findet man eine 4x4-Kameramatrix, die eine Projektion wie unten dargestellt liefert, so dass sich die Punkte A, B, C, D irgendwo an den Rändern der Gerätebox befinden (z. B. OpenGL-normalisiertes Gerät) Koordinaten), und die Ecken der Einheitskiste fallen entlang der Strahlen …
So lese ich diese , ich irgendwie den Grund bekam , warum viel mehr Spiele auf Microsoft Windows gibt es als auf jedem anderen O. Das Hauptproblem war, dass Direct3D OpenGL vorgezogen wird. Was ich nicht verstehe ist, warum ein Entwickler die Kompatibilität opfern sollte? Das ist einfach ein finanzieller …
In Abschnitt 6.4 Konstante Puffer des Buches Praktisches Rendern und Rechnen mit Direct3D 11 (Seiten 325, 326) wird Folgendes erwähnt: Standardmäßig versucht der HLSL-Compiler, Konstanten so auszurichten, dass sie nicht mehrere float4-Register umfassen. [...] Das Packen für einen HLSL-Konstantenpuffer kann auch manuell über das Schlüsselwort packoffset angegeben werden. Ich gehe …
Ich weiß, wie Shadow Mapping funktioniert, aber ich bekomme nicht die Ursache für Schattenakne! Kann mir jemand auf einfache Weise die Ursache von Schattenakne sagen und wie hängt sie mit der Auflösung der Tiefenkarte zusammen?
Ich benutze SDL2 . Derzeit hat mein einziger Shader eine MVP-Matrix und transformiert die Punkte damit. Ich berechne meine Ansichts- und Projektionsmatrix für eine Kamera mit GLM: glm::lookAt(pos, pos + forward, up); glm::perspective(fov, aspectRatio, zNear, zFar); Ich habe danach gesucht, kann jedoch nur die Legacy-Implementierung mehrerer Ansichtsfenster finden. Wenn ich …
In Bezug auf dieses Thema habe ich den Sobel Edge Detection- Filter erfolgreich in GLSL implementiert . Hier ist der Fragment-Shader-Code des Filters: #version 330 core in vec2 TexCoords; out vec4 color; uniform sampler2D screenTexture; mat3 sx = mat3( 1.0, 2.0, 1.0, 0.0, 0.0, 0.0, -1.0, -2.0, -1.0 ); mat3 …
In diesem Tutorial , Es ist sehr häufig der Fall, dass Dreiecke gerendert werden, die Kanten gemeinsam haben. OpenGL bietet die Garantie, dass bei identischer Scan-Konvertierung keine Probenlücken entstehen, solange die gemeinsamen Scheitelpunktpositionen der Kanten identisch sind. 1 Was genau sind Probenlücken während der Scan-Konvertierung? 2 Unter welchen Umständen wird …
Es ist mir größtenteils gelungen, eine Implementierung von Marching Cubes von der CPU auf OpenGL-Compute-Shader zu portieren, aber ich habe mich noch nicht mit Normalen befasst und mich gefragt, wie ich am besten vorgehen kann. Meine Implementierung befasst sich speziell mit binär bewerteten Feldern (ich versuche, 3D-Fraktalfunktionen zu modellieren, die …
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.