Computergrafik

Fragen und Antworten für Computergraphiker und Programmierer

2
Pfadverfolgung des Cook-Torrance BRDF
- Entschuldigung für den langen Beitrag, aber ich ziehe das vor, weil " Devil in den Details steckt" :) Ich schreibe von Grund auf einen Pfad-Tracer, der für perfekt diffuse (Lambert'sche) Oberflächen gut funktioniert ( dh der Ofentest zeigt - zumindest optisch -, dass er energiesparend ist und gerenderte Bilder …

3
Vermeiden von Z-Fighting mit zusammenfallenden Oberflächen
Beim Rendern von zwei sich überlappenden koplanaren Oberflächen tritt häufig das Problem "Z-Fighting" auf, bei dem der Renderer nicht entscheiden kann, welche der beiden Oberflächen sich näher an der Kamera befindet. Dadurch entstehen visuelle Artefakte im Überlappungsbereich. Die Standardlösung besteht darin, den Oberflächen beim Entwerfen des Modells einen leichten Versatz …
26 rendering 

3
Was ist ein Schablonenpuffer?
Wikipedia gibt an, dass ein Schablonenpuffer ein beliebiger Puffer ist, den ein Shader verwenden kann. Es deutet jedoch darauf hin, dass es zum Ausschneiden oder anderweitigen "engen Binden" der Tiefen- und Pixelpuffer verwendet wird, was sich leicht widerspricht. Was macht der Schablonenpuffer wirklich und wie wird er in modernen Anwendungen …

2
Was kostet der Zustandswechsel?
Programmierer sollten eine ziemlich gute Vorstellung von den Kosten bestimmter Operationen haben: zum Beispiel die Kosten eines Befehls auf der CPU, die Kosten eines L1-, L2- oder L3-Cache-Fehlschlags, die Kosten eines LHS. Wenn es um Grafiken geht, ist mir klar, dass ich kaum eine Ahnung habe, was sie sind. Ich …

1
Ist meine Perspektive Mathe richtig?
Ich habe eine Hausaufgabe, in der ich einige Punkte mithilfe einer bestimmten Transformation berechnen und plotten muss, aber ich bin nicht sicher, ob meine Ergebnisse korrekt sind, da die 3D-Darstellung mit Kamerakoordinaten sehr anders aussieht als die 2D-Darstellung mit den Bildkoordinaten . Kannst du mir helfen zu verstehen, was los …

2
Warum wird die transponierte Inverse der Modellansichtsmatrix verwendet, um die normalen Vektoren zu transformieren?
Beim Rendern von 3D-Szenen mit Transformationen, die auf die Objekte angewendet werden, müssen Normalen mit der transponierten Inverse der Modellansichtsmatrix transformiert werden. Also, mit einem normalen , modelViewMatrix M , die transformierte normalen n ' istnnnMMMn′n′n' n′=(M−1)T⋅nn′=(M−1)T⋅nn' = (M^{-1})^{T} \cdot n Bei der Transformation der Objekte ist klar, dass die …

5
Ergibt eine in den 2D-Raum projizierte Kugel immer eine Ellipse?
Meine Intuition war immer, dass, wenn eine Kugel in den 2D-Raum projiziert wird, das Ergebnis mathematisch immer eine Ellipse ist (oder ein Kreis in entarteten Fällen). In der Vergangenheit, als ich aktiv meine eigene Grafikprogrammierung machte und mit anderen Leuten darüber sprach, waren sie überzeugt, dass ich falsch lag. Wenn …

3
Warum ist Thread-Sicherheit für Grafik-APIs so wichtig?
Sowohl Vulkan als auch DirectX12 sollen threadsicher verwendet werden können. Die Leute scheinen darüber aufgeregt zu sein. Warum ist dies ein so großes Feature? Die "echte" Verarbeitung wird auf jeden Fall auf einer separaten Verarbeitungseinheit über die Speicherbrücke geworfen. Auch wenn es so groß ist, warum wurde bis jetzt keine …

1
Warum sieht mein Perlin-Rauschen „blockig“ aus?
Ich habe versucht, Perlin Noise selbst zu implementieren, indem ich nur die Theorie verwendet habe (folgt flafla2.github.io/2014/08/09/perlinnoise.html). Leider konnte ich den Look des "originalen" Perlin Noise nicht erreichen. Was ist der Grund, warum der folgende Code eine blockartige Version von Perlin Noise darstellt? Was muss ich im Code verbessern / …
21 glsl  noise  artifacts 


3
Ist russisches Roulette wirklich die Antwort?
Ich habe gesehen, dass in einigen Implementierungen der Pfadverfolgung ein Ansatz namens Russisches Roulette verwendet wird, um einige der Pfade auszusondern und ihren Beitrag unter den anderen Pfaden zu teilen. Ich verstehe, dass anstatt einem Pfad zu folgen, bis er unter einen bestimmten Beitragsschwellenwert fällt, und ihn dann aufzugeben, ein …



1
Warum ist Rekursion in OpenCL verboten?
Ich möchte OpenCL verwenden, um das Rendern von Raytrace-Bildern zu beschleunigen, aber ich stelle fest, dass auf der Wikipedia-Seite behauptet wird, dass die Rekursion in Open CL verboten ist. Ist das wahr? Da ich beim Raytracing weitgehend von Rekursion Gebrauch mache, ist eine erhebliche Neugestaltung erforderlich, um von der Beschleunigung …

4
Warum führen T-Übergänge in Maschen zu Rissen?
Ich habe aus vielen Quellen gehört, dass es eine schlechte Idee ist, T-Übergänge in 3D-Netzen zu haben, da dies zu Rissen beim Rendern führen kann. Kann jemand erklären, warum das passiert und was man tun kann, um sie zu vermeiden?
19 mesh 

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.