...wohingegen man beim on-the-fly-Ansatz mit einer Variablen auf der Zeropage auskommt. Beim AppleII konnte ich den Teil zur Linienberechnung sogar so umbauen, daß nicht allein der X-Wert, sondern gleich die Bitmaske für den Rand sowie der Offset auf die Zeile berechnet werden. Das spart dann reichlich Rechenzeit.
Mal sehen, was bei mir rauskommt. Wenn (falls ich jemals) ich das erste Dreieck auf dem Schirm hab, dann mach ich nen Thread auf.
Unterschätze den Aufwand nicht, denn auch ein Minimax kostet. Dazu benötigst Du eine Schleife über die Punkte und - da die Punkte als 16-Bit-Werte vorliegen - einen 16-Bit-Vergleich, also sowas wie...Am besten wäre es, wenn man die Überprüfung erst beim Polygonmalen selbst vornimmt...
Eben. Min/Max von Y fallen ja eh beim Zeichnen des Dreiecks je Fläche an, und die X-Koordinaten der Punkte hat man bestimmt auch irgendwann mal in den Fingern.
...daß die Fälle, in denen die Objekte klein sind, keine Beschleunigung gebrauchen, weil sie schon schnell genug sind, hingegen aber die Fälle, bei denen die Objekte groß sind, Beschleunigung benötigen, um nicht zu sehr aus dem Rahmen zu fallen...
Ich weiß nicht recht. Ich würde eher auf Geschwindigkeit in übliche Spielszenen zielen. Beim Anflug auf die Raumstation war mir Framerate nicht so wichtig, wenn ich durch 2 Thargoiden abgefangen wurde, dann schon. Und wenn sich eine Linienroutine ab 8 Zeichen Breite lohnt, dann lohnt sie sich praktisch nie.
...Die Genauigkeit von Festkomma-Formaten wird häufig überschätzt .... mag für den Renderer nicht relevant sein, aber für allgemeine Bewegung im Raum schon. Weltkoordinaten sollte man (eigentlich) nie als Float speichern, da ansonsten die Gefahr besteht, daß man aufgrund der Granulation wiebei "Star Trek" plötzlich von einer mysteriösen Kraft gefangen gehalten wird und das Raumschiff sich nicht mehr weiterbewegt.
Ist erstmal Böhmische Dörfer für mich. Erstmal Dreiecke, dann Körper, dann schauen wir mal.