Projekte

Hier sind vorrangig die privat geschaffenen Programmierprojekte zu finden, welche meistens auch über die KDE-App-Homepage zu finden sind.
vorhandene Projekte: [kmatedit] [a2psfrontend] [qlabyrinth] [qtplgviewer] [kvoulumerenderer]
kmatedit KMatEdit ist eine KDE-Applikation, welche Python-Sourcecode für den Lightflow-Raytracer liefert. Die fantastischen Resultate dieses Programms lassen sich auch hier auf dieser Seite bewundern. Um die Arbeit mit Lightflow etwas zu erleichtern, habe ich (oder besser: schreibe ich) ein Programm geschrieben, welches die Erstellung von Lichtquellen, Render-Einstellungen, Kameras, Transformationen und Materialien etwas erleichtern soll.

Download:

Screenshots:

vorhanden

erledigt (v1.1):

  • Lichtquellen
  • Kameraumgebung
  • Transformationen (gleich als Stack erstellbar)
  • default-Interface (Render-Einstellungen)

geplant:

  • Material standard
  • Material generic
  • Material physical
  • Animationen
a2psfrontend A2psfrontend ist, wie der Name schon sagt, ein Frontend zum Kommandozeilentool a2ps. Dessen Aufgabe besteht in der Konvertierung von Textdateien in das Postscriptformat, in welchem sie dann entweder gespeichert oder ausgedruckt werden können. Dabei können unzählige Optionen wie Anzahl der Seiten auf einem Blatt, Seitennummern, Ränder, Kopf- und Fußzeilen usw. festgelegt werden. Aufgrund dieser Parametervielfalt ist die Kommandozeilenschnittstelle etwas unübersichtlich geraten - und deswegen wurde dieses Frontend geschrieben.

Download:

  • Version 1.1 (stable) [tgz]

Screenshots:

vorhanden

erledigt (v1.1):

  • Laden/Speichern/Drucken
  • Preview
  • viele weitere a2ps-Optionen

noch offen:

Das müßt ihr mir sagen...
qlabyrinth QLabyrinth ist die Lösung (wie a2psfrontend) zu einer Aufgabe aus einem Informatik-Praktikum. Es sollte ein Labyrinth dargestellt werden und der Ausgang gesucht werden.

Download:

  • Version 1.0 (stable) [tgz]

Screenshots:

vorhanden

erledigt:

  • schöne grafische Darstellung
  • Labyrinthe variabler Größe
  • Laden/Speichern von Labyrinthen
  • Drucken von Labyrinthen (PostScript)
  • manuelle Steuerung möglich (Widget mit dem Labyrinth muß den Focus haben, dann Cursortasten benutzen!)

noch offen

  • Auf der Basis von QLabyrinth eines der berühmten "schiebe-Kisten-im-Labyrinth"-Spiele zu schreiben.
qtplgviewer QtPLGViewer ist ein Viewer für 3D-Polygonobjekte im .plg-Format, welcher in dieser Release auch die geometrischen Grundoperationen wie Verschieben, Skalieren und Drehen ermöglicht (plus "freie" Kamerafahrten). Wenn Ihr ein bisserl mehr Leistung haben wollt, probiert mal set CXXFLAGS="-O3 -fexceptions --fast-math -felide-constructors -fexpensive-optimizations -fdelayed-branch -fschedule-insns" vor configure - bei Problemen während des Compilierens (Fehlermeldung bezüglich gesetztem no-exception-Flag) hilft set CXXFLAGS="-fexceptions".

    Download:

    • Version 1.0 (stable) [tgz]

    Screenshots:

    vorhanden

    erledigt:

    • Projektionsarten: Grundrisse / 1-Punkt-Perspektive
    • Darstellungsarten: Wireframe, Wireframe + Backface Culling, Flächendarstellung
    • freie Kamerafahrten
    • geometrische Grundoperationen wie Verschieben, Skalieren und Drehen
    • Laden/Speichern/Drucken.
    • Arbeiten mit mehreren Dokumenten / mehreren Ansichten möglich.

    noch offen

    • Weitere Einstellmöglichkeiten für die Views (Kamera-,Beleuchtungs- und Materialeinstellungen)
    • Z-Buffer für die Flächendarstellung.
    • Beleuchtungsmodell.
kvoulumerenderer KvoulumeRenderer ist ein MDI-Programm zur Darstellung von Voxeldatensätzen (z.B. Ergebnisse eines CT-Scans). Eingelesen werden können momentan nur Rohdateien mit Auflösungen von 8 und 16 Bit - allerdings ist ein Parser für Beschreibungsdateien mit dem Suffix .INFO integriert, welcher die nötigen Informationen automatisch erfaßt. Der Renderer selbst arbeitet in Vorwärtsprojektion mit z-Buffer und verwendet ein einfaches Lambertsches Beleuchtungsmodell. Zum Aufbau der .INFO-Dateien:
  1. Alle Zeilen, die nicht mit einer Zahl beginnen, werden als Kommentar gewertet.
  2. Zeilen mit dem Wort Layer oder Schichten tragen die Tiefeninformation des Voxelraums
  3. Zeilen mit dem Wort Groesse oder Dimension geben die Schichtendimension in der Form BreitexHoehe.
  4. Zeilen mit dem Wort Graustufen oder Colors geben die Sampleauflösung an (momentan 256 oder 65536/65k)
Alle Parameter können über einen Dialog vor dem Laden verifiziert werden.

    Download:

    Version 0.1 (stabil)
    Erste version, benutzt Vorwärtsprojektion & Tiefenpufferschattierung. [tgz]
    Version 0.2 (stabil)
    Einige Verbesserungen am Renderer. [tgz]
    Version 0.3 (stabil)
    Benutzt den Raycasting-Algorithmus anstatt der Vorwärtsprojektion und bietet akkumulierendes Rendering mit optionaler Oberflächendarstellung (entweder "Haut" oder die aus der Maximum Intensity Projection (MIP) gewonnene Oberfläche). [tgz]
    Version 0.4 (stabil)
    Verbesserte Raycasting-Variante (verbessertes Shading), weiterhin können Textdateien und .df3-Dateien eingelesen werden. [tgz]

    Screenshots:

    vorhanden

    erledigt:

    • Projektionsarten: Grundrisse
    • Mausnavigation
    • Phong-Shading
    • Import von :
      • 8/16-bit Rohdaten
      • ASCII-Textdateien
      • .df3 Dateien
    • Arbeiten mit mehreren Dokumenten / mehreren Ansichten möglich.
    • Ansichten konfigurierbar.

    noch offen

    • Mehr Importfilter
    • Schnellere Darstellung (3D-Bresenham-Algorithmus?)
    • Operationen (Filter) auf die Voulumendaten.

letzte Änderung: