MSDN Magazin > Home > Ausgaben > 2007 > March >  {End Bracket}: Entwickeln des Virtual Earth 3D-...
{End Bracket}
Entwickeln des Virtual Earth 3D-Steuerelements
Duncan Lawler


Virtual Earth 3D ist ein neues Tool von Microsoft zur dreidimensionalen Visualisierung der gesamten Welt. Virtual Earth™ 3D ist keine eigenständige Anwendung, sondern wird als verwaltetes Steuerelement implementiert, das eine nahtlose Integration in Websites oder eigenständige Anwendungen ermöglicht. Das Sicherheitsmodell von Microsoft® .NET Framework gibt Benutzern die Möglichkeit, Plug-Ins zur Bereitstellung von Daten dynamisch zu laden, diese jedoch auf die Ausführung in einer teilweise vertrauenswürdigen Umgebung zu beschränken.
Eines der Hauptziele des Projekts des Virtual Earth 3D-Teams bestand darin, die Entwickler zu befähigen, eigene Anwendungen zu erstellen. Die Betaversion lässt sich nahtlos in die JScript®-API integrieren, die im Virtual Earth SDK verfügbar ist. Webentwickler, die das SDK verwenden, um Mappingfunktionen in ihre Websites zu integrieren, sind jetzt in der Lage, ohne zusätzlichen Aufwand eine 3D-Ansicht zu zeigen. Für alle, die sich nicht mit der Webentwicklung befassen, gibt es schon bald eine SDK-Dokumentation, die erklärt, wie das Steuerelement direkt in eigene Windows®-Steuerelemente oder systemeigene Anwendungen eingebettet werden kann. Wir werden zudem Beispiele dokumentieren und bereitstellen, die zeigen, wie Sie Ihre eigenen Plug-In-Erweiterungen schreiben und anwenden können, um das Steuerungsmodell zu ändern, der jeweiligen Szene eigene Daten hinzuzufügen usw.
Um das Virtual Earth 3D-Steuerelement zu erstellen, hat das Team Verfahren für das automatische Generieren von 3D-Modellen realer Strukturen entwickelt, die auf Luftaufnahmen mit einer Auflösung von mehr als 12 Zoll basieren. Dieses Steuerelement ermöglicht den Anwendungsentwicklern, Mapping- oder Visualisierungsanwendungen zu erstellen, die reale Orte so detailgetreu wiedergeben, dass der Benutzer den Eindruck gewinnt, tatsächlich vor Ort zu sein.
Abbildung 1   (Klicken Sie zum Vergrößern auf das Bild)
Um die Leistung zu verbessern, haben wir zuerst mehrere Detailebenen für die Gebäudemodelle erstellt. Die Quelldaten verfügen über ein geometrisches Modell und ein Strukturschema mit kompletten Details für jede Gebäudeseite. Zuerst haben wir einen Atlas mit einer einzelnen Struktur aus den Quellstrukturen des Gebäudes erstellt. Wir haben dann nahe gelegene Gebäude genommen und einzelne zusammengesetzte Gitter erstellt, die alle Gebäude und einen einzelnen, zugeordneten Strukturatlas enthielten. Kleinere Gebäude wurden entfernt, da sie normalerweise nicht sichtbar sind, wenn eine weniger detaillierte Anzeige verwendet wird. Wir haben diesen Prozess mit nahe gelegenen zusammengesetzten Gittern wiederholt, die in immer größeren zusammengesetzten Gittern zusammengefasst wurden. Demzufolge werden beim Rendern des Bildes statt der detailgenauen Gitter die weniger detaillierten zusammengesetzten Gitter im Hintergrund der Szene angezeigt. Durch die Zusammenfassung der Strukturen und Modelle kann Virtual Earth sie mit einem einzigen Satz von Aufrufen rendern, was die Leistung enorm verbessert.
Die Bandbreite, die zum Übertragen dieser Daten erforderlich ist, war die nächste Herausforderung. Um die beste Qualität für eine vorgegebene Strukturgröße zu erhalten, haben wir neue Bildformate verwendet, die in Windows Imaging Components zum Komprimieren von Strukturen verfügbar sind.
Die meisten Benutzer neigen dazu, ihre eigene Stadt am häufigsten anzusehen, deshalb ist die Ablage in Zwischenspeichern ein sehr wirksamer Weg, die Leistung bei nachfolgenden Besuchen zu verbessern. Sobald die Daten heruntergeladen wurden, speichert Virtual Earth die Strukturen für die Wiedergabe auf dem Bildschirm im Systemspeicher. Wenn die Hardware dies unterstützt, werden die Strukturen in ein komprimiertes Format im Videospeicher umgewandelt. Jedoch ist diese Konvertierung CPU-intensiv, sodass sie vom Team vorsichtig auf die Threads im Hintergrund verlagert werden musste, um zu vermeiden, dass es zu Verzögerungen bei der Framerate kommt.
Weitere Informationen und SDKs finden Sie in den Virtual Earth-Foren unter http://dev.live.com.

Duncan Lawlerist Entwicklungsmanager im Virtual Earth 3D Team. Er ist seit 10 Jahren bei Microsoft und während seiner gesamten Firmenzugehörigkeit im Virtual Earth-Team tätig, wo er zur Entwicklung von MapPoint, Atlas, Streets & Trips, MSN Maps und Pocket Streets beigetragen hat. Sie erreichen ihn unter duncal@microsoft.com.

Page view tracker