19 März 2015

Einstiegs-Tutorial für Seeing#

SeeingSharp TutorialSeitdem ich den Code auf Github hochgeladen habe, bastle ich daran auch relativ viel rum. Ziel ist für mich aktuell, nicht nur einen Haufen Quellcode-Dateien auf Github zu haben, stattdessen sollen auch einige Einstiegshilfen und Wiki-Einträge verfügbar sein, dass sich andere Interessenten möglichst einfach einarbeiten können. Der erste Schritt zu diesem Ziel ist ein kleines Einstiegstutorial bestehend aus vier C#-Projekten, jeweils angelegt als Windows Store Apps. Warum jetzt genau Windows Store war für mich erst einmal Nebensache, wichtig und für alle Plattformen gleich ist der Aufbau der Szene, die Konfiguration der Kamera, die Definition von Animationen oder die Suche nach Objekten unterhalb des Maus-Cursors. Weiterlesen

8 März 2015

3D-Engine Seeing# goes OpenSource #2

Pallet-Sample-SmallEndlich erledigt, heute früh habe ich Seeing# zusammen mit dem Quellcode von RK 2048 auf GitHub unter diesem Link hochgeladen [1]. Wie im letzten Post geschrieben, steht der Code unter GPLv3 und kann somit von jedem frei eingesehen, verwendet und modifiziert werden, sofern man sich an die Bedingungen der GPL hält. Für mich soll die Library in Zukunft als Basis für weitere Hobby-Entwicklungen, meine Vorträge/Artikel und für Posts auf dieser Homepage dienen. Weiterlesen

1 März 2015

3D-Engine Seeing# goes OpenSource

Screenshot SeeingSharp-BeispielSeit einer ganzen Weile schiebe ich das schon vor mir her: Das Grundgerüst, welches ich die letzten Jahre für eigene Test-Entwicklungen, kleine Spiele etc. verwendet habe, möchte ich als OpenSource bereitstellen. Die Feature-Liste kann sich hierbei sehen lassen: Integration Direct3D/Direct2D, Integration in WPF/Win.Forms/WinRT, hohe Parallelisierung (Multithreading), Software-Rendering, Unterstützung mehrerer Grafikkarten und noch vieles mehr. Nun, da ich mein Studium im Januar dieses Jahres abgeschlossen habe, kann ich mich nun um das Thema OpenSource kümmern. ABER: Ganz so einfach wie „ich lads einfach mal hoch..“ ist es leider nicht. Weiterlesen

23 Februar 2015

Vortrag in Nürnberg zu Bewegungssteuerung mit MS Kinect 2.0

Mit der Kinect-Technologie habe ich mich zum ersten Mal intensiver beschäftigt, als zur ersten Kinect das SDK in Version 1.7 veröffentlicht wurde. Das ist natürlich schon ein paar Jährchen her und in der Zwischenzeit ist auch schon einiges mit der Technologie passiert. Ich finde es sehr spannend, wie schnell sich Kinect in eigene Programme integrieren lässt – sei es bei der Oberflächensteuerung mit der KinectRegion, bei der Spracherkennung oder bei eigenen Bilderkennungstechniken mit den zur Verfügung gestellten Streams. Diese Woche donnerstags werde ich bei der .Net Usergroup in Nürnberg einen Vortrag zum Thema halten, worin ich einige Grundlagen der Technologie nebst einigen Stolpersteinen vorstellen werde [1]. Ich bin gespannt drauf und freue mich auch auf die Diskussionen mit den Entwicklern aus Nürnberg und Umgebung 🙂 Weiterlesen

1 Februar 2015

Um was geht es beim Testen?

BugNeulich stand am .Net Usergroup-Treffen in Regensburg das automatisierte Testen auf der Agenda [1]. Grundsätzlich ein wichtiges Thema, nicht nur für mich, sondern auch für viele andere Softwareentwickler – alleine die hohe Teilnehmerzahl macht dies deutlich. An dieser Stelle direkt ein Dank an den Sprecher Kenny Pflug, er hat das Thema gut dargestellt – auch wenn es die eine oder andere Kritik an dem Beispielprogramm gab ;). Bei dem Vortrag konnte ich einige Dinge dazulernen, beispielsweise nennt sich das, was ich normalerweise als „Testdriven Development“ in der Arbeit vorantreibe, in Wirklichkeit „Behavior Driven Development“. Naja.. ich mache mir halt nicht viel aus Schlagworten 😉 Weiterlesen

16 November 2014

Direct3D11, WPF und der Energiesparmodus

Direct3D 11 direkt in ein WPF D3DImage zu integrieren ist nicht ganz so einfach – das ist jedem bekannt, der das schon einmal probiert hat. Im Fall meiner 3D-Engine SeeingSharp gehe ich sogar noch etwas weiter: Das Rendering erfolgt komplett verteilt auf dem ThreadPool. Weiterhin werden so Kleinigkeiten wie Kantenglättung unterstützt, die die Integration in WPF auch noch etwas schwieriger machen. Nun habe ich es schon vor einer ganzen Weile geschafft, dass das auf allen getesteten Desktop-Rechnern gut funktioniert – aber irgendwie trifft man immer wieder auf neue Fälle. Neulich habe ich mir das neue Surface Pro 3 gekauft und siehe da… dort gibt es Probleme. Weiterlesen

9 November 2014

RK2048 – Universal-App fast fertig

RK 2048 LogoRK2048 ist mein erstes „Abenteuer“ eine App mit weitgehend gleichem Coding auf mehreren Plattformen zu entwickeln und zu veröffentlichen. Genau genommen handelt es sich um (fast alle) aktuellen Windows-Plattformen von Windows Phone (8.1) über Windows RT bzw. Windows Store Apps bis Windows Desktop (Wpf). Es ist überraschend, wie gut das mittlerweile zwischen Phone und Tablet funktioniert, einzig WPF ist bei den Standard-Projekttemplates noch etwas außen vor. Im Windows Store ist die erste Version schon veröffentlicht, Windows Phone folgt (hoffentlich) relativ bald. Auch ein Setup für die Desktop-Version ist bereits verfügbar. Weiterlesen

24 August 2014

Kein MEF für Universal Apps?

Das Konzept hinter den Universal Apps finde ich sehr gut, wie in den letzten Beiträgen geschrieben wende ich es gerade testhalber bei RK 2048 an. Ein Negativpunkt für mich ist aber die fehlende Unterstützung für System.Composition. Bei WinRT für Tablets / Desktop gibt es den Umweg über MEF 2, welcher eigentlich auch relativ gut funktioniert. Für das Windows Phone scheint es das aber nach wie vor nicht zu geben, derweil ist die Funktionalität m. E. schon sehr praktisch. Damit ich trotzdem etwas Ähnliches habe, habe ich mir entsprechend selber Klassen dafür geschrieben, die auch mit dem Universal App Template laufen. Weiterlesen

2 August 2014

MSTest, oder wie ich es verwende

UnitTests oder Ansätze der testgetriebenen Entwicklung werden aktuell häufig bei Usergroups oder Fachkonferenzen angesprochen. Erst diese Woche war ich auf einem Usergroup-Treffen in Nürnberg genau zu diesem Thema. Ich persönlich beschäftige mich damit schon etwas länger, habe testgetriebene Ansätze bereits mehrmals bei passenden Anwendungsfällen durchgeführt und war damit auch stets sehr zufrieden. Bei dem genannten Vortrag musste ich aber feststellen, dass sich das, was ich persönlich mit diesen Tests mache, mittlerweile schon teils deutlich von der Theorie unterscheidet. Hier in diesem Beitrag möchte ich entsprechend meine Sicht auf UnitTests und testgetriebene Ansätze im Allgemeinen beschreiben. Weiterlesen

2 Juli 2014

RK 2048 – Ein Spiel vollständig als Universal App entwickelt

ThumbnailEin völlig verregneter Sonntag, nichts wirklich vor, was kommt dabei raus? Richtig, ein kleines Spiel. Letzten Sonntag habe ich die frisch auf Windows Phone portierte 3D-Engine verwendet, um einen kleinen 2048 Klon zu bauen. Der Screenshot zeigt das Ergebnis. Sieht an sich relativ gut aus und funktioniert auch überraschend gut. Ein paar Bugs gibt es sicherlich noch, ein paar Optimierungen für das Phone sind noch nötig, viel mehr als einen weiteren solchen verregneten Tag braucht es aber höchstwahrscheinlich nicht mehr. Das Besondere an dem Thema von der technischen Seite ist, dass es das neue Template für Universal Apps verwendet. Der gleiche Code läuft also für Windows 8.1 und für Windows Phone 8.1 – ganz ohne Compiler-Flags oder dergleichen. Weiterlesen