Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Memnarch,
10. Mär 2011
Hab es zumindes endlich geschafft, diesen Rasterizer zu verstehen:
http://www.devmaster.net/forums/showthread.php?t=1884
Füllgeschwindigkeit ist von dem teil um einiges höher als bei mir ohne ZBuffering.
Jetzt muss ich noch gucken wie ich die Koordinateninterpolation wieder integrieren, un d das matheschonend^^"
MFG
Memnarch
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Memnarch,
10. Mär 2011
Gut dan bleib ich bei integern, das "ding" funktioniert normalerweise nur mit integern, genauso der depthbuffer. Dan bleib ich also da^^.
Ich überlege gerade wie ich TileWeise rendern kann. Dazu müsste ich checken ob ein rechteck komplett in einem dreieck liegt, es überlappt oder ganz draußen ist. Aber die welt von google spuckt nur oberflächliches aus. Meistens leute die bei solchen fragen...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Memnarch,
10. Mär 2011
@Medium: Aber ohne ZWert kein ZBUFFERING. Das ist der Kasusknaktus. der Painteralgo ist nur bedingt einsetzbar, um richtiges ZBuffering kommste nicht drumherum wenn die Grafiken vernünftig dargestellt werden sollen.
MFG
Memnarch
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Memnarch,
10. Mär 2011
Kurze zusammenfassung(nicht das ich was vergesse und euch dan infos fehlen^^):
Berechnen der gesamtfläche das Dreiecks(wird nur einmal ausgeführt)
Berechnen der Fläche Teildreiecke PAB/PBC/PCA
Addition und vergleich mit der gesamtfläche
eine fläche wird so berechnet:
FlächePBC = |PXBY + BXCY + CXPY - PXCY - CXBY - BXPY|
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Memnarch,
10. Mär 2011
In dem angegebenen beispiel hat die Float zahl ne nachkommastelle. Meine zahlen haben NIEMALS nachkommastellen, wenn ich auf gleicheit prüfe. Da bis dorthin nur additionen/multiplikationen/subtraktionen mit ganzzahlen stattfinden(also sollte der fall von rundungsfehlern noch wegfallen oder nicht? wird ja nie gerundet). Erst nach der gleichheitsprüfung, würde eine division folgen, aber dann wird...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Memnarch,
10. Mär 2011
Tag alerseits,
Wie bereits erwähnt, arbeite ich aus spass an der freude an einem Softwarerasterizer.
Leider habe ich eine große geschwindigkeitsbremse:
Die interpolation des ZWertes eines beliebigen Punktes P im Dreieck ABC. Das mache ich so:
ZWert = ((FlächePBC*ZWertA) + (FlächePCA * ZWertB) + (FlächePAB * ZWertC)) / Gesamtfläche