programmierung

OpenGL mit GLUT unter Windows 11

Tim Riemann
Vor ein paar Tagen habe ich damit begonnen mich für ein kleines Retro Projekt wieder in eine alte Version von OpenGL einzuarbeiten. Dafür habe ich mir ein altes Buch aus einem Antiquariat besorgt, das mittlerweile schon halb auseinander fällt und versuche jetzt die Codebeispiele, die in diesem Buch genannt werden, nachzuvollziehen. Da in dem Buch GLUT verwendet wird, stellte sich mir die Frage, ob man auch heute noch unter Windows 11 OpenGL mit GLUT nutzen kann und - um das Ergebnis vorweg zu nehmen - es funktioniert tatsächlich noch.

Dreamcast wiederentdeckt / Docker Devkit

Tim Riemann
Vor Kurzem bin ich mal wieder über meine Sega Dreamcast gestolpert, die schon seit einiger Zeit ein Schattendasein in einer Stapelbox geführt hat. Ich habe sie bereits vor einigen Jahren schon mit einem GDROM-Emulator ausgestattet, den Akku der Echtzeituhr getauscht, eine Wechselhalterung für den Akku eingebaut, der laute Lüfter durch einen Noctua Lüfter und auch schon das alte Netzteil durch ein Pico-PSU ersetzt. Für den GDROM Emulator habe ich entsprechende Einsätze gedruckt, das Pico PSU wurde auf eine Halterung aufgesetzt und auch für den Lüfter habe ich einige Vorlagen bei Thingiverse gefunden, die den Einbau erheblich erleichtert haben.

Unabhängige Zufallszahlen / Random Klasse im .NET Framework

Tim Riemann
Heute hat mir ein Kollege erzählt, dass die Random Klasse im .NET Framework keine vernünftigen Zufallszahlen erzeugen würde und dass zwei Instanzen der Random Klasse jeweils die gleichen Zufallszahlen erzeugen. Das entsprechende Beispiel hat er mir schnell anhand eines kleinen NUnit-Tests gezeigt, der in etwa so aussah: var numbers1 = new List<int>(); var numbers2 = new List<int>(); var random1 = new Random(); for (int i = 0; i < RANDOMNUMBERS; i++) { numbers1.

Matrix Multiplikation auf der Grafikkarte mit .NET und Cudafy

Tim Riemann
Die Parallelisierung von Algorithmen und Programmteilen hat mir schon immer Spaß gemacht und ich habe mir sogar zu Hause einen Rechencluster gebaut, mit dem ich experimentieren konnte. In der aktuellen dotnetpro Ausgabe (07/2013) beschreibt Bernd Marquardt, bei dem ich auf der Parallel 2012 Konferenz einen .NET TPL Workshop mitmachen durfte, in einem Artikel die Parallelisierung von Algorithmen mit AMP unter C++, die dann auf der Grafikkarte ausgeführt werden. Leider muss man hier immer noch den Umweg über C++ gehen, aber glücklicherweise gibt es für .

C# - Byte Array als Key in einem Dictionary / HashSet

Tim Riemann
Heute stand ich vor dem Problem, dass ich ein Byte Array als Index in einem Dictionary in .NET verwenden wollte. Das hat natürlich nicht funktioniert, da der Hash-Code von zwei inhaltsgleichen Byte-Arrays ungleich ist und dadurch der Vergleich beim Zugriff fehl schlägt. Wenn ich also überprüfen möchte, ob ein Key bereits in der Datenstruktur vorhanden ist, wird es immer fehl schlagen, da das erzeugte Objekt mit in den Hashwert eingeht.