UV

About Projects

Calypso

Released: December 2004
Category: Raytracer
Platform: Linux/KDE
Language: C++
Calypso is an attempt to produce a photorealistic raytracer with the C++ programming language using the Qt toolkit and the KDE libraries for a modern user interface. Calypso is written by Sami Kyöstilä and Joonas Kerttula. It is a C++/Qt/KDE-based photorealistic raytracer. Note that Calypso is no longer actively maintained. The software is licensed under the GNU GPL.

Features

Here's an incomplete list of features that are already implemented.
  • Recursive raytracing.
  • KDE user interface.
  • Class model for generic scenes and objects.
  • Recursive transformations.
  • Pervasive multi-threading. [currently disabled]
  • Distributed network rendering. [currently broken]
  • Extensive XML format for storing scenes.
  • Stochastic ray reflection and refraction.
  • Texture mapping and filtering.
  • Caustics.
  • Adaptive supersampling.
  • Accelerated rendering using BSP-trees, barycentrics, KD-trees, etc.
  • Pluggable shader framework and the following shaders:
    • ambient lighting
    • phong illumination (direct)
    • photon map illumination (indirect)
  • Support for the following primitives:
    • sphere
    • plane
    • mesh (from a 3D Studio© file via lib3ds)

Task list

  • Fresnel reflection.
  • Volumetric rendering.
  • Irradiance approximation and caching.
  • DCOP-interface.
  • New network rendering framework (XML-RPC?).
  • Constructive solid geometry (boolean objects)
  • Image-based lighting

Bugs

  • Network rendering borked temporarily.

You can download the Calypso source code below.

In order to compile the raytracer, you should have a working Qt/KDE build environment. If you want to have support for loading 3DS-meshes, you also need lib3ds version 1.1.0 or newer.

Please note that these packages are all development versions. The packages include project files for the KDevelop IDE.

Links

Here are some links related to raytracing and computer generated images.

« Back to all projects