Projects

Here are programming projects which are more or less private work and in most case also accesable over the KDE-App-Homepage .
available projects: [kmatedit] [a2psfrontend] [qlabyrinth] [qtplgviewer][kvoulumerenderer]
kmatedit KMatedit is a KDE-application which produces python-sourcecode for the Lightflow-raytracer. To get an impression of the fantastic capabilities of Lightflow you may also have a look at the raytracing corner of my page. Being a very powerful program, Lightflow objects have a lot of option and switches. So I wrote kMatEdit for generating python source of objects like lights, cameras, transformations, ... where the amount of options make it difficult to remember them all properly.

Download:

Screenshots:

available

done: (v1.1)

  • lightsources
  • camera enviroment
  • transformations (with stack support)
  • default-interface (render-settings)

planned:

  • material standard
  • material generic
  • material physical
  • animations
a2psfrontend A2psfrontend is what you told it - a frontend to the command-line tool a2ps. This tool converts text files into postcript (e.g. for saving or printing), giving tons of options about the layout. You can specify the number of pages per sheet, line-numbers, headers, footers, titles and a lot more - thus resulting in a in a messy fat command line interface - a challenge for a GUI-frontend.

download:

  • version 1.1 (stable) [tgz]

screenshots:

available

done (v1.1):

  • load/save/printing
  • preview
  • a lot of a2ps options

not done:

this question to you...
qlabyrinth QLabyrinth was (like a2psfrontend) a homework for a C/C++ university course. We had to calculate a labyrinth, find a way out and display the process with the Qt - so we did...

download:

  • version 1.0 (stable) [tgz]

screenshots:

available

done:

  • nice graphic interface
  • labyrinths of variable size
  • load/save operations on labyrinths
  • printing of labyrinths(PostScript)
  • manual control of chookie (give focus to the labyrinth widget, let cookie hold and use the cursor keys)

to do:

  • Write one of the famous "move chests in a labyrinth to get out of it" besed on QLabyrinth.
qtplgviewer QtPLGviewer is a viewer for polygon-based 3D-objects stored in .plg-Files. This release includes free camera movements and basic geometric operations (translation, scaling and rotation) applied to the whole scene.
If you wanna race, try this before run configure: set CXXFLAGS="-O3 -fexceptions --fast-math -felide-constructors -fexpensive-optimizations -fdelayed-branch -fschedule-insns" If you got compile errors regarding a no-exception setting, use set CXXFLAGS="-fexceptions"

Download:

  • version 1.0 (stable) [tgz]

Screenshots:

available

done:

  • projections: orthogonal parallel projections / 1-point-perspective
  • view types: wireframe, wireframe + backface culling, faces in polygon color
  • free camera movement
  • basic geometric operations (translation, scaling and rotation)
  • load/save/printing.
  • multiple docs / multiple views

to do:

  • more options for the views (camera & illumination && material parameters)
  • z-buffer e.g. for undistorted non-wireframe views
  • shading
kvoulumerenderer KVoulumeRenderer is a voulume/voxel renderer which displays datasets generated by a CT scanner for example. It's a MDI program using the KDE 2.0 API. so you will be able to work with multiple datasets and multiple views (if you don't run out of mem, voulume datasets are very memory consuming). Currently only 8/16 bit s-per-sample raw files are supported but there is a parser included which looking for.INFO files describing the voxel space parameters. The rendering system is a forward-projection system using a z-buffer for HSR and shading. The shader uses (currently) lamberts law. Now to the syntax of the .INFO-files
  1. All lines which doesn't start with a number are threaten as comments.
  2. Lines containing Layer or Schichten should provide the number of layers / the depth of the voxel space
  3. Lines containing Groesse or Dimension should provide the size of a layer given as widthxheight (with the 'x')
  4. Lines containing Graustufen or Colors should provide the sample format (currently only 256 or 65536/65k)
The parameters set will be presented to the user via dialog before the import starts.

    Download:

    Version 0.1 (stable)
    Initial release, uses forward projection & zbuffer shading. [tgz]
    Version 0.2 (stable)
    Some improvements to the renderer. [tgz]
    Version 0.3 (stable)
    Uses raycasting instead of forward projection. Added accumulated rendering with optional surface projection (either skin or MIP surface). [tgz]
    Version 0.4 (stable)
    Improved raycasting version. Better shading and plain text/.df3 import. [tgz]

    Screenshots:

    available

    done::

    • orthogonal projections
    • mouse navigation
    • Phong-shading
    • Import from :
      • 8/16-bit raw files
      • plain text files.
      • .df3 files
    • Multiple documents / multiple views available..
    • View setup.

    to be done:

    • more import filters
    • faster drawing (3D Bresenham DDA?)
    • operations (filter) on voulume datasets.

last changed: