PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VR pusht IHVs und Engine-Entwickler zu neuen Rendering-Techniken


samm
2015-05-24, 18:44:10
Wir haben hier Engine-Devs, VR-Games-Entwickler und technik-affine Zocker an Bord - jegliche Meinungen, Infos und Befürchtungen/Hoffnungen willkommen :)

Ich suchte nach Open-CL-Artikeln und bin dabei über diese Präsentation gestolpert:

Foveated Ray Tracing for VR on multiple GPUs (http://pt.slideshare.net/takahiroharada/foveated-ray-tracing-for-vr-on-multiple-gpus)

Es geht um Raytracing auf der GPU, OS-unabhängig dank Open-CL, und die Nutzung mehrerer GPUs dafür via SFR. Ich denke, daraus lässt sich abstrahieren, dass sich Foveated Rendering für VR anbietet, sobald eye tracking genügend zuverlässig latenzminimiert funktioniert. Ausserdem, dass mehrere GPUs künftig sinnvoller als per AFR zusammenarbeiten können. Für beides existieren nun schon Algorithmen, es fehlt "nur" noch an den passenden Rahmenbedingungen: VR muss relevant auf dem Markt sein, und die Hardware und zugehörige APIs müssen eye tracking unterstützen.

Unter den Marketing-Namen "LiquidVR" pusht AMD auch weitere VR-spezifische Technologie-Ansätze, und nVidia scheint mit "VR direct" ebenfalls ein paar ähnliche Tricks auf Lager zu haben. VR verspricht derzeit, ein treibender Faktor für die Weiterentwicklung von GPUs an sich und der damit verwendeten Programmieransätze und Rendering-Techniken zu werden. Bleibt nur zu hoffen, dass die kommenden VR-Brillen einschlagen und die IHVs zwingen, am Ball zu bleiben :D

Sollte allerdings VR keine genügend grosse Nutzerbasis erobern können, fürchte ich weitere gemächliche Evolution in Sachen GPU-Entwicklung mit ein paar herstellerspezifischen Gimmicks hie und da, wie bis anhin. Intel wird mit ihrem "gut-genug"-Ansatz aufholen und die Ansprüche verwässern*, wodurch es allgemein für's Gaming eher langweilig aussehen wird. Der einzige Entwicklungs-Treiber, den ich in diesem Szenario noch sähe, wäre die Auflösung, aber genügende Performance für 4K zeichnet sich auch schon langsam ab.


*: Verringern der Hürden für neue DX-Versionen, sodass die eigene Hardware sie noch schafft, und das Fremd-Knowhow, das für HW und Treiber zum Teil sogar via 3rd parties für den Marktanteil-Führer gekauft wird. Konkret denke ich an Vulkan-Treiber und DX12.

Thomas Gräf
2015-05-24, 19:55:42
...eye tracking

http://de.wikipedia.org/wiki/Eye-Tracking

Da gehts um Werbung, Medizin aber nich um VR??
Is das was wo wir wieder ein Speku Thread über gefühlte 5 Jahre haben werden? ;)

Coda
2015-05-24, 20:14:39
Es geht darum, dass man mit Raytracing die Sampling-Frequenz viel einfacher beeinflussen kann als mit Rasterizing. Das ist eine korrekte Beobachtung. Zumindest was Textur- und Geometrie-Abtastung angeht.

Sunrise
2015-05-24, 20:27:38
@samm:
Intel spielt derzeit eine Rolle, beim Thema VR werden aber sowieso erstmal nur die Nischenkäufer angesprochen und AMD und NV leisten hier Verkaufsargumente für den ohnehin schon kleineren PC-Gaming Markt. Wenn VR Erfolg hat, werden automatisch diese beiden IHVs am meisten profitieren.

Intel ist was GPUs angeht beim Thema VR erstmal nicht relevant. Weder bei Konsolen, noch im PC. Die GPUs von Intel werden auch so schon nur stiefmütterlich behandelt, gleich was das Marketing dir erzählen will. Da geht es rein darum, die meisten Produkte in jedem Device absetzen zu können als um Nischenfeatures die Die-Area "verschwenden" (aus Intels Sicht).

Der gemeinsame Nenner werden also eher VR-taugliche High-End bzw. "Midrange-Karten" der nächsten Gen. Von Intel ist mir diesbzgl. weder etwas bekannt, noch haben sie die Rohleistung dafür.

Vorsichtig ausgedrückt erwarte ich eher eine halbwegs VR-taugliche AMD APU mit HBM als eine dafür taugliche Intel GPU.

samm
2015-05-30, 22:38:50
@samm:
Intel spielt derzeit eine Rolle, beim Thema VR werden aber sowieso erstmal nur die Nischenkäufer angesprochen und AMD und NV leisten hier Verkaufsargumente für den ohnehin schon kleineren PC-Gaming Markt. Wenn VR Erfolg hat, werden automatisch diese beiden IHVs am meisten profitieren.eine Rolle oder keine Rolle? ;)
Das Problem daran, wenn VR auf absehbare Zeit eine komplette Nische bleibt, sehe ich eben darin, dass es ohne das wenig Anreize zu wirklichen Leistungssteigerungen zu geben scheint. 4K allein wird durch die gemächliche Weiterentwicklung der aktuellen Technologie irgendwann keine Herausforderung sein, da braucht es keine innovativen Ideen ausser "mehr vom Bisherigen". Gegenargumente würden mich erfreuen ;)

Es geht darum, dass man mit Raytracing die Sampling-Frequenz viel einfacher beeinflussen kann als mit Rasterizing. Das ist eine korrekte Beobachtung. Zumindest was Textur- und Geometrie-Abtastung angeht.Gäbe es keine leichte Möglichkeit, auch bei Rasterizing davon zu profitieren, dass ausserhalb der schärfsten Teile des FOV die Auflösung und das Textur-LOD geringer gehalten und z.B. die Filterung auf einen simplen Blur reduziert werden könnte?

[edit]@Thomas Gräf: eye tracking könnte ein wichtiger Bestandteil davon werden, dass VR überzeugend wirkt, vielleicht auch ergonomisch gesehen, was die Einstellung des Fokuspunktes der Augen angeht. Dass derzeit nur head- und position tracking Vorrang haben, liegt imo allein an genügend potenten Mess- und Rendertechnologien: Augen zu verfolgen ist allein schon ein Problem, und auf die enorm schnellen Bewegungen (im Vergleich zu jenen des Kopfs) auch latenzfrei reagieren zu können, ein weiteres. Ich habe da eher weniger an Werbe- oder medizinische Anwendungen gedacht.

Guest83
2015-05-31, 08:51:46
...eye tracking

http://de.wikipedia.org/wiki/Eye-Tracking

Da gehts um Werbung, Medizin aber nich um VR??
Is das was wo wir wieder ein Speku Thread über gefühlte 5 Jahre haben werden? ;)
Eye-Tracking wird eine riesige Sache bei der zweiten oder dritten Generation der Consumer-VR-Geräte. Nur mal ein paar Beispiele:

- Man kann jemand anderen anschauen (oder auch nicht). Menschen sind soziale Wesen, unsere Gehirne sind darauf ausgelegt zu registrieren wo andere Menschen hinschauen. Das lässt viel realistischere soziale Kontakte in VR zu.

- Man kann es für Interface-Bedienung benutzen.

- Man kann es als Gameplay-Element in Spielen benutzen.

- Und man kann es eben für Foveated Rendering nutzen. Für VR braucht man hohe Auflösungen (weil der Bildschirm ja auf fast das gesamte Sichtfeld vergrößert wird) und gleichzeitig auch eine hohe Bildwiederholrate. Wenn man sich die Entwicklung der letzten Jahre ansieht, dann steigt die Auflösung der Handy-Displays um einiges schneller als die Leistung der GPUs. Wir reden hier von 16kx16k pro Auge die es braucht, bevor man keinen Unterschied mehr erkennen kann und die wollen wir mit mindestens 90 Hz, viel besser aber mit mehr als 100 oder 200, ja vielleicht sogar mit 1.000 Hz befeuern.

Mit Foveated-Rendering könnte man messen wohin genau der Nutzer schaut und dann nur diesen Bereich mit der vollen Auflösung rendern. Wir Menschen können nur in einem winzigen Bereich wirklich scharf sehen. Momentan bringt das noch nicht viel, da Eye-Tracking wie gesagt noch nicht zuverlässig und vor allem Low-Latency genug ist und weil bei den aktuellen Auflösungen der Overhead im Vergleich zu den Einsparungen noch so groß ist, dass es kaum was bringen wird. Aber wenn wir mal auf 4kx4k Displays vorstoßen, dann werden die Vorzüge schnell überwiegen. Und es geht nicht nur um die Auflösung, man könnte auch andere Einsparungen treffen. Weniger Polygone für Models außerhalb des Fokus, simplere Shader, usw.


Augen zu verfolgen ist allein schon ein Problem, und auf die enorm schnellen Bewegungen (im Vergleich zu jenen des Kopfs) auch latenzfrei reagieren zu können, ein weiteres.
Glücklicherweise kommt jeder Mensch mit einem eingebauten Feature daher, um das zu einem viel kleineren Problem zu machen: http://de.wikipedia.org/wiki/Chronostasis

kevsti
2015-05-31, 11:28:37
[...]Wir reden hier von 16kx16k pro Auge die es braucht, bevor man keinen Unterschied mehr erkennen kann
[...]
Wo nimmst du die 16k*16k pro Auge her? Irgendwelche relevanten wissenschaftlichen Daten dazu? Davon ab, machts kein Sinn. Wieso sollte es in der Höhe genauso viele Pixel sein, wie in der Breite? Unser Sichtfeld ist ja deutlich breiter als höher.

Guest83
2015-05-31, 11:38:02
Wo nimmst du die 16k*16k pro Auge her? Irgendwelche relevanten wissenschaftlichen Daten dazu? Davon ab, machts kein Sinn. Wieso sollte es in der Höhe genauso viele Pixel sein, wie in der Breite? Unser Sichtfeld ist ja deutlich breiter als höher.
Aus einem Talk von Michael Abrash. Und wir brauchen uns jetzt sicher nicht um die exakte Anzahl der Pixel streiten, es soll einfach verdeutlichen, dass es sehr sehr viel sein werden.

Mcckl
2015-05-31, 11:49:22
Gäbe es keine leichte Möglichkeit, auch bei Rasterizing davon zu profitieren, dass ausserhalb der schärfsten Teile des FOV die Auflösung und das Textur-LOD geringer gehalten und z.B. die Filterung auf einen simplen Blur reduziert werden könnte?

Ja genau, auch für die klassische Rasterung könnte man viel sparen. Texturfilterung, MSAA, LODs, Shader-/Tessellationaufwand und insbesondere Posteffekte ließen sich schon ohne Eyetracking stark optimieren. Mein Spiel verschwendet mit VR unglaubliche Ressourcen an Blickwinkel, die nie fokussiert werden, und ich warte schon ungeduldig auf Shader, die das berücksichtigen können.

Eye-Tracking macht das natürlich genauer, und es würde auch schon langsames Eye-Tracking mit 75 Hz darstellung reichen, den High-Definition-Bereich weiter einzuschränken, z.B. mit statistischen Methoden.

Warum die Arbeit Raytracing verwendet? Weil mit den Samples alleine schon viel optimiert werden kann, und viele Leute ganz gierig auf Echtzeitraytracing warten. Bei der Rasterung müsste man ein dutzend verschiedene Systeme optimieren. Aber Achtung, Auflösung ist nicht die einzige Eigenschaft des menschlichen Auges! Das Video zum fovealen Raytracing (https://www.youtube.com/watch?v=naj890SK2ho) zeigt natürlich flimmern in den Bereichen mit schwacher Abtastung, und die nichtfovealen Bereiche des Auges sind ziemlich empfindlich für solche Störungen. Das Ergebnis der Arbeit ist noch immer ziemlich weit von der Qualität und Performanz einer Rasterung entfernt.

Da passt bilineares Filtering über grobe Strukturen einer klassischen Rasterung meiner Meinung besser. Der Renderprozess ist halt noch wenig an VR angepasst, und da wird sich in den nächsten Jahren noch viel tun. Die Möglichkeit, dass Eyetracking einen wichtigen Beitrag zum Performanceausgleich zwischen VR und Flatscreen bringt, besteht. Aber es wird wohl nicht der Durchbruch für Echtzeitraytracing.

Raytracing passt einfach schlecht zu den momentanen Speicherstrukturen, und da sich mit der Rasterung außerdem noch viel besser schummeln lässt, wird der Leistungsunterschied wohl noch eine Weile bestehen bleiben.

Meine Grafikkarte hat ja kein Problem, 90er Jahre Titel in 4k zu rastern. Es sind die aufwendigen Materialien und Geometrien der modernen Spiele, und die Tools sind einfach (noch) nicht daran angepasst, die Qualität nach Bildausschnitt zu variieren.