Was ist der Unterschied zwischen einer Probe, einem Pixel und einem Fragment?

8

Ich kann immer noch nicht sagen, welche Unterschiede zwischen einem Sample / Pixel / Fragment bestehen.

Da der Fragment-Shader pro Pixel ausgeführt wird, denke ich, dass ein Fragment nur auf ein Pixel verweist, ist das korrekt? Kann jemand mir ein Beispiel und eine Definition von jedem geben?

    
Jeffrey 01.07.2015, 22:54
quelle

2 Antworten

2

Ein Pixel ist ein Bildschirmelement. Ein Fragment ist der entsprechende Teil für ein gegebenes geometrisches Primitiv +, das das Pixel abdeckt. Für Antialiasing (und mehr) können mehrere Samples in einem Pixel aufgenommen werden.

Ein Pixelwert ist der Mittelwert von Stichprobenwerten, und die Fragmente aus mehreren Dreiecken können zu einem bestimmten Pixel beitragen.

    
Fabrice NEYRET 05.10.2015 13:27
quelle
2

Ein Fragment-Shader wird pro Fragment ausgeführt und gibt Pixel aus. Sie sind sehr ähnlich, aber nicht gleich.

  

Ein Fragment ist eine Sammlung von Werten, die vom Rasterizer erzeugt werden. Jedes Fragment repräsentiert ein probengroßes Segment eines gerasterten Primitiven. Die Größe, die von einem Fragment abgedeckt wird, hängt mit dem Pixelbereich zusammen, aber die Rasterung kann mehrere Fragmente aus demselben Dreieck pro Pixel erzeugen, abhängig von verschiedenen Multisampling-Parametern und dem OpenGL-Status. Es wird mindestens ein Fragment erzeugt werden, das für jeden Pixelbereich erzeugt wird, der durch das Rasterelement abgedeckt wird. Quelle

Wenn Sie also Multisampling / Antialiasing vollständig deaktivieren, sollte jedes Fragment einem Pixel zugeordnet werden. Wenn Sie es jedoch aktivieren, werden mehrere Fragmente interpoliert, um ein einzelnes Pixel zu bilden.

Die Differenzierung ist auch in den Rendering-Pipelines von OpenGL zu sehen: Ссылка

    
maja 28.07.2017 12:44
quelle

Tags und Links