Rendering: Tiefe für den Z-Buffer berechnen

Hallo,

um den Z-Buffer-Algorithmus anzuwenden, muss man ja zu jedem Pixel die zugehörige Tiefe berechnen. Wenn ich einen Pixel habe, der zu einem Punkt gehört, der mitten in einem Polygon liegt, wie kann ich dann die genaue Tiefe dieses Punktes berechnen, wenn ich die Eckpunktkoordinaten des Polygons kenne?

Danke für eure Hilfe!

MfG,
Luismaren

Hallo,

was genau versuchst du denn zu machen?
Normalerweise werden fast alle Berechnungen an den einzelnen Vertices ausgeführt und dann durch die baryzentrischen Koordinaten in das Dreieck interpoliert. Ob das beim ZBuffer auch so ist, weiß ich nicht genau, aber mir würde erstmal nichts einfallen, was dagegen spräche.
Hast du denn die Koordinaten des Punktes schon? Dann kannst du ja direkt den z-Wert berechnen. Eventuell reicht da einfach die Transformation mit World, View und Projektions-Matrix.

Nico

Hallo,

um den Z-Buffer-Algorithmus anzuwenden, muss man ja zu jedem
Pixel die zugehörige Tiefe berechnen. Wenn ich einen Pixel
habe, der zu einem Punkt gehört, der mitten in einem Polygon
liegt, wie kann ich dann die genaue Tiefe dieses Punktes
berechnen, wenn ich die Eckpunktkoordinaten des Polygons
kenne?

Verstehe ich nicht. Wenn Du einen Punkt hast, hast
Du auch dessen Koordinaten, also auch dessen z-Koordinate.
Die z-Koordinate schreibst Du in den z-Buffer an die
stelle x/y von deinem Punkt - WENN die z-Koordinate,
die schon im z-Buffer ist, kleiner ist als Deine z-Koordinate,
sonst eben nicht.

Grüße

CMБ