Erste Infos zum XNA Game Studio 4.0 - Die Zweite

11.03.2010 08:40

Shawn Hargreaves schrieb in seinem Blog Näheres über die Entwicklung für Windows Phone 7 unter Verwendung des XNA Frameworks. Aus Entwicklersicht wird sich nicht sehr viel ändern, da das API größtenteils konsistent geblieben ist.
Neue Herausforderungen ergeben sich bei der Umsetzung der Steuerung. Spiele die auf Windows Phone 7 laufen, müssen die Touch-Eingaben verarbeiten. Sofern nur ein Finger erkannt werden muss, kann auf die vorhandene Mouse-API zurückgegriffen werden. Insgesamt kann Windows Phone 7, genauso wie Windows 7, bis zu vier Fingerbewegungen erkennen. Das entsprechende API ähnelt dem API, das zuvor für Zune HD veröffentlicht wurde.
Die schwierigste Aufgabe, so schreibt Shawn Hargreaves, war die Umsetzung des Graphics-API. Wären die XNA Framework-Entwickler den bisherigen Weg gegangen, dann gäbe es viele plattform-spezifische CAPS, die Entwickler berücksichtigen müssten. Bei hunderten von CAPS ist es nicht so leicht, den passenden CAPS zu prüfen und eine Fallback-Routine zu implementieren. Die Lösung erinnert an das überarbeitete Direct3D 10- bzw. Direct3D 11-API. Anstatt alle CAPS einzeln zu prüfen, greifen Sie auf entsprechende Profile zurück, die eine Reihe von CAPS konsolidieren. Unter Direct3D 10 bzw. Direct3D 11 ist die Rede von Feature Levels (siehe Blog-Eintrag vom 08.11.2009). Herausgekommen sind zwei Profile: Reach und HiDef. Während das Profil Reach möglichst viele Hardwarevariationen anspricht, beschränkt das Profil HiDef die Menge der Zielplattformen auf jene, mit aktuellen Grafikkarten. Beispielsweise Multiple Render Targets (MRT) zählen zum Profil HiDef.
 Windows Phone 7 unterstützt im Gegensatz zu den Zune-Geräten der ersten Generation, hardwaregestützte 3D-Grafikausgaben, wobei das Profil Reach nahezu die Fähigkeiten von Windows Phone 7 ausdrückt. Alle Features die HiDef abdeckt sind nicht unter Windows Phone 7 verfügbar. Die Unterscheidung anhand der zwei Profile vereinfacht also die Code-Pfade.
Insbesondere die Anwendung von eigenen Shadern unterbindet das XNA Game Studio 4.0 für Windows Phone 7. Das heißt Sie müssen sich auf dieser Plattform vorläufig mit der BasicEffect-Klasse und den neuen Abwandlungen SkinnedEffect, EnvironmentMapEffect, DualTextureEffect und AlphaTestEffect begnügen.
XNA Game Studio 4.0 erlaubt fast beliebige Back Buffer-Größen. Die Hardware kümmert sich während der Darstellung um die passende Skalierung. Dieser Vorgang belastet nicht die GPU und bedient sich sehr guter Filter, die bessere Ergebnisse liefern als ein bilinearer Filter, den die GPU offeriert. Beim Verkaufsstart von Smart Phones mit Windows Phone 7 wird die Displayauflösung 480x800 Pixel betragen. Später kommen weitere Modelle mit 320x480 Pixel. Selbstverständlich kann die native Auflösung des Telefons ermittelt werden. Aber Sie können auch mit einer fixen Auflösung arbeiten und die Skalierung der Hardware überlassen. Dabei werden auch die Touch-Eingaben skaliert. Ferner übernimmt der Grafiktreiber die Rotation des Bildes, wobei das XNA Framework eine Einflussnahme auf die Art und Weise der Rotation erlaubt.

Blog von Shawn Hargreaves  
© 2009 Jens Konerow