Nvidia GameWorks : Nvidias Entwickler-Programm GameWorks lässt Spiele zwar mit besonders schicker Grafik punkten, braucht aber auch viel Performance und wird oft für sein geschlossenes System kritisiert. Nvidias Entwickler-Programm GameWorks lässt Spiele zwar mit besonders schicker Grafik punkten, braucht aber auch viel Performance und wird oft für sein geschlossenes System kritisiert.

Das erstmals 2013 angekündigte und 2014 gestartete GameWorks-Programm von Nvidia stellt eine Sammlung von Entwicklungs- und Analyse-Tools sowie Grafik- und Physik-Effekten dar. Spiele- und Software-Entwickler müssen einer Lizenzvereinbarung von Nvidia zustimmen, anschließend können sie GameWorks kostenlos nutzen und die beinhalteten Programme für ihre Projekte nutzen.

Zum Thema » Rise of the Tomb Raider Das bringt der DirectX 12-Patch » Fallout 4 Patch 1.3 PhysX-Effekte nur für Geforce » AMD GPUOpen Open-Source-Angriff auf Nvidia Laut Nvidia möchte man Spiele-Entwicklern mit GameWorks die Erstellung und Umsetzung von Titeln mit den neuesten und schickesten Grafik-Effekten ermöglichen und vereinfachen. Die GameWorks-Bausteine nehmen den Entwicklern viel eigene Programmierarbeit ab und entsprechend viele Spiele nutzen die Effekt-Sammlung mittlerweile.

Allerdings steht Nvidias GameWorks auch immer wieder in der Kritik und besonders AMD wird nicht müde zu betonen, dass die Lizenzvereinbarungen und das geschlossene System von GameWorks Gefahren mit sich bringen. Was an den Vorwürfen dran sein könnte, was GameWorks beinhaltet und wie es funktioniert, wollen wir hier kurz beleuchten.

Update: Mittlerweile hat Nvidia auf unsere Anfragen bezüglich der Lizenz-Bestimmungen geantwortet. Die entsprechenden Zitate haben wir nachgepflegt.

Was beinhaltet GameWorks?

VisualFX
beinhaltet Grafikeffekte wie die Umgebungsverdeckung HBAO+, die temporale Kantenglättung TXAA, die Schattendarstellung PCSS und HFTS oder auch die bekannte Haar-Simulation HairWorks.

Physik-Teil
hier finden sich Simulationen wie PhysX oder die Stoffdarstellung Clothing.

Core SDK
ermöglicht Entwicklern auf die Hardware der Geforce-Karten zuzugreifen und ihre Spiele entsprechend darauf anzupassen. Das SDK beinhaltet »NVAPI« zur Einsicht in die GPU und den Treiber sowie die »Geforce Experience Settings API«, um Spiele direkt in Nvidias Optimierungs-Programm zu integrieren. Außerdem steht mit »OpenAutomate« auch ein Tool bereit, um Anwendungen auf ihre Funktion hin zu testen.

• OptiX For Games
stellt einen eigenen Punkt innerhalb GameWorks dar und wird zur Erstellung von »Ray Tracing«-Inhalten genutzt. Ray Tracing simuliert Licht und dessen Verhalten sowie Interaktion mit Objekten extrem realistisch. Raytracing erlaubt extrem lebensechte Beleuchtungs-Effekte, verlangt aber auch extrem viel Rechenleistung.

Sample Code
hier finden Entwickler OpenGL- und DirectX-Technologien zur direkten Implementierung in ihre Spiele. Dazu zählen Effekte wie Bewegungsunschärfe, »FXAA, Deffered Rendering und Deffered Shading« (verzögert die Berechnung von Shadern und Schatten zur Performance-Optimierung)

• Tools
Zu guter Letzt sammelt GameWorks im Reiter »Tools« die Debug-Programme zur Fehlersuche und Optimierung von Spielen und Anwendungen. Hier finden sich auch einige Tools für Googles Betriebssystem Android und die Optimierung für Nvidias mobile Tegra-GPU.

Nvidia GameWorks : Auf der diesjährigen Game Developers Conference (GDC) betonte Nvidia den Erfolg von GameWorks und kündigte den OpenSource-Zugang für bestimmte Effekte via GitHub an. Auf der diesjährigen Game Developers Conference (GDC) betonte Nvidia den Erfolg von GameWorks und kündigte den OpenSource-Zugang für bestimmte Effekte via GitHub an.

Wie funktioniert GameWorks?

Nvidia bietet den Entwicklern die meisten GameWorks-Features als vorgefertigte Libraries (DLLs) an. Die können dann relativ simpel in Grafik-Engines integriert werden. Allerdings haben die Entwickler dabei keinen direkten Einblick in den zugrunde liegenden Code, sondern verändern nur diverse Parameter, um das Ergebnis zu beeinflussen.

You may make changes, but should share them with NVIDIA. Changes will be pushed back into the product at NVIDIA's discretion.If your changes result in negative impact on performance or image quality, you must notify NVIDIA so that we can review.

Was machen Libraries/DLLs?

Eine Dynamic Link Library (DLL) stellt eine Datei dar, die bestimmte Verhaltensmuster und Pfade beinhaltet. DLLs sind nicht an bestimmte Anwendungen gebunden und so designed, dass sie von Entwicklern einfach implementiert werden können.

Diese Eigenschaft macht sie besonders gut geeignet für das Entwickeln von Grafik-Engines für mehrere Titel (Unreal Engine, CryEngine, etc). Statt einen bestimmten Effekt für jedes Spiel an bestimmten Stellen einzeln zu integrieren, verwendet man eine DLL (etwa HBAO+) und verweist bei Bedarf auf diese Library. Die regelt dann die Berechnung des entsprechenden Effekts und liefert dem Grafik-Chip die notwendigen Informationen dafür.