Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu Interpolatoren
Eins geht mir durch den Kopf. Das CineFX-Triangle-Setup zerlegt ja Dreiecke in Streifen von 32 Quads Breite, welche dann zu einem Batch zusammengefasst werden, sofern sich nicht zwischen den Dreiecken die States ändern. Der Interpolator, quasi die allererste Shading Unit, interpoliert, wie der Name schon sagt. Er greift also auf Eckpunkt-Daten zu und kann (perspektivisch korrekte) LERPs machen. Was ist aber, wenn mehrere Dreiecke im Batch sind? Dann muss der Interpolator auf unterschiedliche Eckpunkt-Daten zugreifen können. Hat die CineFX-Pipe hier mehrere Register für maximal so und so viele Dreiecke vorgesehen?
Demirug
2005-11-12, 09:52:11
Die Interpolatoren (es gibt btw an zwei Stellen welchen) greifen auf die Ebenen gleichungen zurück welche vom Trisetup aus den Eckpunkten errechnet werden. Dafür gibt es in der Pipeline einen Speicher der eine bestimmte Anzahl von Gleichungen aufnehmen kann.
Nimmt man das Rampage und CineFX Patent zusammen ist das Verfahren eigentlich recht gut beschrieben.
http://www.beyond3d.com/forum/showpost.php?p=597388&postcount=345
Das heißt ja, dass die Dreiecke im Schnitt alle mindestens 50 Pixel haben sollten.
Wieso 50 Pixel? Es können halt nicht mehr als 20 gleichzeitig in der Pipe stecken.
Weil ein Quadbatch ca 1000 Pixel umfasst.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.