Programmieren
Meine ersten Schritte im Programmieren habe ich bereits gemacht als ich mit der Nutzung von Computern anfing. Die Idee, selbst die Kontrolle über die Arbeit des Computers zu haben und dabei nicht durch das, was Andere bereits vorbereitet haben, gebunden zu sein, hat mich seit dem immer fasziniert.
Für meine ersten Programmier-Versuche habe ich eine interpretierten Sprache namens Comal sowie Turbo-Pascal genutzt. Zusätzlich habe ich bald auch einige Entwickungen auf graphischen Oberflächen unter OS/2 mit Hilfe von Speed-Pascal unter direkter Nutzung der API-Functionen inklusive multithreading durchgeführt.
Meine jüngsten Pascal-basierenden Programmier-Projekte nutzen Delphi und ich habe mehrere damit entwickelte Programme veröffentlicht.
Eines von diesen ist HCR-Edit, ein Bearbeitungsprogramm für Bilder mit hoher Farbauflösung. Auch wenn der hauptsächliche Zweck diese Programms dir Nachbearbeitung von mit POV-Ray erzeugten Bildern ist, läßt es sich auch für viele andere Aufgaben einsetzen.
im Zusammenhang mit POV-Ray
Ein Großteil meiner Programmierarbeit hängt direkt oder indirekt mit POV-Ray zusammen. Die Nutzung von POV-Ray erfordert bereits das Programmieren in der POV-Ray Szenenbeschreibungssprache und ich habe einige Zusatzmodule für POV-Ray geschrieben und veröffentlicht, beispielsweise das IsoWood und das IsoCSG-Modul.
Als Mitglied des Persistence of Vision development team arbeite ich auch am Quellcode von POV-Ray selbst. Ich entwickle Verbesserungen am plattformspezifischen Teil für Unix sowie im Kern-Code und ich mache Arbeiten im Bereich Nutzerbetreung und Dokumentation.
Ich bin auch in der Entwicklung von MegaPOV tätig - einer experimentellen Version von POV-Ray mit zusätzlichen Funktionen und Änderungen, die noch nicht sehr intensiv getestet wurden. Ich entwickle eigene Erweiterungen und integriere und verbessere die Erweiterungen, die Andere entwickelt haben. Derzeit sind die folgenden umfangreicheren Entwicklungen von mir in MegaPOV integriert:
- Das Mechanik-Simulationssystem (MechSim): ein System zur Simulation von mechanischen Bewegungen - von fallenden Blöcken und Stoffen bis hin zu Planetenbewegungen.
- Verbesserungen der radiosity-Funktion.
- Lesen und Schreiben von High dynamic range images.
Die folgenden Erweiterungen sind noch nicht veröffentlicht, die meisten sind noch in der Entwicklung:
- Isosurface Objekt-Beschleunigung mit einigen Beispielen.
- shadow photons - die Nutzung von Photon-Maps zur Beschleunigung von Schattenberechnungen.
- Das area light reflection patch, welches die Berechnung von Flächenlichtern beschleunigt.
Außer den Erweiterungen von POV-Ray habe ich einige externe Werkzeuge zu POV-Ray geschrieben wie zum Beispiel ein System zur verteilten Berechnung von Bildern und eine Volltextsuche für die Dokumentation.