Archiv verlassen und diese Seite im Standarddesign anzeigen : Was ist Centroid-Sampling?
betasilie
2003-07-18, 00:56:35
Half-Life2 soll ja mit allen aktuellen GraKas kein FSAA nutzen können, da sie kein Centroid-Sampling können. Dies soll erst mit PS3.0-tauglichen GraKas gehen.
Was ist denn Centroid-Sampling und wieso kann HL2 FSAA nur mit dieser Samplingmethode fehlerfrei ausführen?
Birdman
2003-07-18, 01:07:34
grummel, mich nerven diese ollen nonFSAA tauglichen Spiele...die ganze Grafikpracht ist damit, für mich jedenfalls, für die Katz.
Es sieht einfach scheisse aus mit all diesen Ecken und flimmernden/wabernden Kanten.
betasilie
2003-07-18, 01:11:46
Original geschrieben von Birdman
grummel, mich nerven diese ollen nonFSAA tauglichen Spiele...die ganze Grafikpracht ist damit, für mich jedenfalls, für die Katz.
Es sieht einfach scheisse aus mit all diesen Ecken und flimmernden/wabernden Kanten.
Mich nervt es auch, aber wahrscheinlich sind einige der "neuen" Technologien in HL2 einfach nicht vereinbar mit Karten ohne Centroidsampling.
... Ich bin mal echt gespannt, was uns unsere Profis hier dazu sagen können. Ich finde das Thema jedenfalls äußerst interessant.
Aus dem DX9-SDK
Centroid
Centroid is an optional instruction modifier supported on dcl_usage (which declares input registers) and on texture lookup instructions. The _centroid modifier is appended to an instruction with no space.
The _color usage has special behavior: it assumes that _centroid is set (as a default), so specifying color along with _centroid has no effect. When centroid is set on an input register declaration that is not a _color usage, the attribute evaluation is altered when multisampling. It defines the attribute interpolation to be clamped to the range of the attribute across the primitive when the multisample pixel center is not covered by the primitive. Note that gradients computed from such data are not guaranteed to be accurate. Take care when an attribute marked with _centroid is used for texture sampling. Normally the evaluation is performed at the pixel center. This has no effect on input registers with the _color usage.
This modifier can be also set on the texld* instructions, dsx and dsy. When a texture-coordinate is evaluated at the centroid, the gradient information computed might not be accurate. When this hint is provided, implementations can adjust this gradient computation to be more accurate.
Also es geht im Grunde genommen darum, dass bei "normalem" Textursampling die Texturkoordinaten so gewählt werden, dass sie der Mitte des Pixels entsprechen, denn dies ist ohne AA auch die einzige Sampleposition. Bei aktiviertem Multisampling aber kann es vorkommen dass ein Sample vom Polygon bedeckt ist, der Mittelpunkt des Pixels aber nicht. Der Textursamplepunkt liegt also außerhalb des Polygons, was an Polygonkanten zu Bildfehlern führen kann. Oft kann man diese jedoch vermeiden.
Centroid begrenzt nun die Koordinaten so, dass sie garantiert innerhalb des Polygons liegen. Allerdings ist das auch nicht gerade mathematisch korrekt.
Dies gilt generell nicht nur für Texturkoordinaten, sondern auch andere interpolierte Werte.
betasilie
2003-07-18, 15:48:23
Thanks @ X-Mas.
Hier wird das thema übrigens auch besprochen. ;)
http://www.forum-3dcenter.org/vbulletin/showthread.php?s=&postid=1060195#post1060195
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.