www.rolandk.de
- Aktuelle Themen zu .Net -
Achtung: Hier handelt es sich um meine alte Seite.
Die aktuelle ist unter folgendem Link erreichbar: www.rolandk.de/wp/
Home Blog Usergroup-Vortrag zum Thema 3D-Rendering in C#




















































Usergroup-Vortrag zum Thema 3D-Rendering in C#
Montag, den 21. Januar 2013 um 04:33 Uhr

Die letzten paar Wochen habe ich diese Homepage etwas vernachlässigt um folgenden Vortrag für die .Net Usergroup in Regensburg vorzubereiten: 3D-Darstellung mit C# in WPF und WinRT. Dafür vorbereitet habe ich 6 verschiedene kleine Demos, jeweils 3 zum Thema 3D-Rendering mit WPF Standard und 3 zum Thema 3D-Rendering mit SharpDX in WPF. Am Ende kommt dann noch ein kurzer Einblick in die Mechanismen von Mosaic Snake 3D.

 

Nachfolgender Screenshot stammt aus der dritten Demo zu WPF. Was ich daran richtig cool finde, ist, dass man normale WPF-Steuerelemente nicht nur auf 3D-Objekte platzieren kann, sondern es sogar möglich ist, diese ganz normal per Maus und Tastatur zu bedienen. Eigentlich lädt diese Technologie geradezu dazu ein, 3D-Interfaces zu erstellen. Für ein kleines optisches Gimmick in der eigenen Anwendung würde es definitiv sorgen.

 

 

Die Beispiele mit SharpDX laufen allesamt innerhalb der WPF-Oberfläche, benutzen also ein WPF-D3DImage als Host für das 3D-Rendering. Damit ist es möglich, per Direct3D etwa direkt in ein Image-Element zu rendern. Bei den Beispielen habe ich die 3D-Engine wiederverwendet, die ich auch bei Mosaic Snake 3D verwende. Das zweite Beispiel für SharpDX zeigt, wie man einen einfachen Displacement-Mapping Effekt über Shader umsetzen kann. Displacement-Mapping bedeutet, dass ein Objekt dynamisch mithilfe einer zusätzlichen Textur mit Höheninformationen verformt wird. Nachfolgender Screenshot zeigt das Ergebnis – einmal ohne und einmal mit Verformung.

 

 

Abrunden soll den Vortrag ein kurzer Ausflug in die Welt on Windows 8 und WinRT. An dem Beispiel Mosaic Snake 3D kann man gut zeigen, welche Änderungen hinsichtlich 3D-Rendering es in den neuen APIs gibt und was man beachten muss. Das Spiel ist auch direkt so lauffähig auf dem Surface-Tablet von Microsoft. Nachfolgend noch ein Screenshot dazu.

 

 

An der Stelle bin ich schon mal gespannt, wie das doch relativ komplexe Thema von den Zuhörern angenommen wird. Ich freu mich drauf.

 

Kommentar hinzufügen

Ihr Name:
Kommentar:

Kommentare (3)

3. Medlan
Dienstag, den 26. März 2013 um 21:31 Uhr
Da wäre ich gerne mit dabei gewesen - nur der Termin konnte nicht ungünstiger sein ;-)

2. RolandK
Montag, den 28. Januar 2013 um 03:54 Uhr
Hi Florian,

danke danke :-)

SharpGL kenn ich noch gar nicht ;)
OpenGL Bibliotheken für C# gibt es aber scheinbar immer wieder mal neue, die dann aber meist wieder eingestellt werden. Ich persönlich kenne z. B. die hier:

http://csgl.sourceforge.net/
http://www.opentk.com/
http://sourceforge.net/projects/taoframework/

Von einer anderen fällt mir gerade der Name nicht ein..
Erfahrung habe ich davon praktisch nur mit OpenTK. Diese Schnittstelle war damals aber nur eine Notlösung, da das der "einfachste" Weg war, einen simplen Software-Renderer zu machen, der auf einem Citrix-Server stabil läuft.

Viele Grüße
Roland

1. Florian Rappl
Sonntag, den 27. Januar 2013 um 13:44 Uhr
War auf jeden Fall ein interessanter Vortrag und die Demos waren auch ganz schön gemacht. Was du noch erwähnen hättest können wäre z.B. SharpGL von Dave Kerr gewesen, da ich mit diesem Projekt vor einigen Jahren was gemacht habe und mit dem Ergebnis damals recht zufrieden war. Good job!