Wird Hardware für viereckige Texturabtastung unterstützt?

8

Wenn Sie eine Volumentextur mit Mipmaps haben, führt die Texturabtastung GL_LINEAR_MIPMAP_LINEAR eine viereckige Texturabtastung durch.

Ist das in Hardware implementiert, wie es die bilineare Texturabtastung ist? Oder macht der Treiber nur zwei trilineare Textur-Samples und interpoliert diese Ergebnisse für Sie?

Wird trilineares Sampling überhaupt von Hardware unterstützt?

Alan Wolfe
quelle

Antworten:

2

Der Beitrag von Alfonse Reinheart in diesem Thread (# 8) sollte etwas Licht ins Dunkel bringen. Wenn Sie es auf den Punkt bringen, lautet die Antwort: "So etwas gibt es nicht." Quadrilineare Abtastung ist einfach der Begriff, der zum Anwenden einer linearen Abtastung (GL_LINEAR_MIPMAP_LINEAR in OpenGL) auf eine 3D-Textur verwendet wird.

Sie können fast argumentieren, dass die Antwort "Ja" lautet, da sich linear auf Hardwareebene befindet und einfach mehrere lineare Durchgänge auf die Textur angewendet werden. aber genau genommen nein.

Stephan
quelle
Danke Stephan! Sie würden nicht zufällig wissen, ob diese Lerps auftreten, bevor die Texturdaten in die Pipeline zurückgespeist werden, oder? Wenn möglich, wäre es schön zu überprüfen, ob die Hardware dies für Sie erledigt, was bedeutet, dass Sie das Ergebnis mit weniger Ressourcen erhalten (meistens Busbandbreite, ich weiß, dass der Fragment-Shader, der die Lerps ausführt, mehr Rechenaufwand bedeuten wird).
Alan Wolfe
Ich verstehe das mit meiner Grafikverarbeitung im Allgemeinen nicht so genau, aber ich kann mit Sicherheit sagen, dass es immer schneller sein wird, wenn die GPU die Bildverarbeitung übernimmt, als wenn man sich wieder an die CPU wendet. Ich bin ziemlich sicher, dass alle Lerps auf einmal auf der GPU auftreten und das Ergebnis im Puffer gespeichert oder in der Pipe zurückgegeben wird.
Stephan
Für den Fall, dass jemand in Zukunft weitere Kommentare zur weiteren Ausarbeitung hat, wäre ein Zurücksetzen auf die CPU definitiv eine höhere Bandbreitennutzung, aber ich bin gespannt darauf, es auf einen Fragment-Shader zurückzusetzen.
Alan Wolfe