Features

Features are essentially what is marked with an "x" in the Roadmap. Please excuse me that I don't write a seperate feature list at the moment.

Roadmap

Core (picogen or picogen.exe)

 
== legend =====================================================================
 x = implemented and usable via the SSDF-file / command line
 o = implemented but not yet available for the end-user


== 0.1 ========================================================================
[x] 0.1
... [x] mkheightmap



== 0.2 ========================================================================

remaining leafs: 0

[x] 0.2
... [x] userspace scene scripting (ssdf)
....... [x] container types
........... [x] list
........... [x] bih implementation for triangles
....... [x] objects
........... [x] heightslang-heightmap
........... [x] sphere
........... [ ] axis-aligned-plane (moved to 0.3, can be 
...........     emulated with flat heightfield)
........... [o] axis-aligned-cube (see AABox.cc) (moved to 0.3)
........... [x] heightfield
....... [x] global
........... [x] sunsky
........... [x] yaw/pitch/roll camera
........... [ ] look-at camera (moved to 0.3)
........... [ ] set field of view(moved to 0.3)
....... [x] materials
........... [x] lambertian (fully diffuse)
........... [x] specular (perfect mirror)
........... [x] water basic shader system
....... [x] terrain texture stack height slang shaders
... [x] surface integrators
....... [x] whitted style
....... [x] path tracing
... [x] films/sensors
....... [x] color
....... [x] first hit surface normal
....... [x] first hit distance
....... [x] camera ray direction
....... [ ] discard z=real_max pixels(effectively disabling sky in final image) (moved to 0.3)



== 0.3 - (subject to change) ==================================================

remaining leafs: 13+

[ ] 0.3
... [ ] implicit heightmaps
... [ ] replace conventional ray tracing kernel with out-of-order kernel
... [ ] userspace scene scripting (ssdf)
....... [ ] l-system plants
....... [ ] an acceleration structure for general object types
....... [ ] materials
........... [x] programmable with Height-Slang
........... [ ] couple BRDF and Color, or something more powerfull
........... [ ] blackbody
....... [ ] more camera settings
........... [ ] look-at camera
........... [ ] set field of view
....... [ ] objects
........... [ ] axis-aligned-plane
........... [o] axis-aligned-cube
... [ ] surface integrators
....... [ ] whitted style-ex (try to approx. path tracer as good as possible)
........... [ ] ambient occlusion
........... [ ] soft shadows
........... [ ] diffuse skylight lookup
... [ ] explicit volume integrators
... [ ] post processing
... [ ] camera definition by invocation of mouse (click,click,render-cycle)
... [ ] films/sensors
....... [ ] discard z=real_max pixels(effectively disabling sky in final image)



== 0.4 - (subject to change) ==================================================
[ ] 0.4
... [ ] userspace scene scripting (ssdf)
....... [ ] an embedded modeling language based on the C programming language
... [ ] plugins (in a language based on the C programming language)
....... [ ] material modelling
....... [ ] film modelling
....... [ ] modelling of intersectables
... [ ] custom light sources



== x.y - (unscheduled, subject to change) =====================================
[ ] generalised cubemaps
... [o] colour
... [o] distance
... [o] normal
... [ ] refraction index
[ ] time
[ ] more atmosphere
... [ ] 2d clouds
... [ ] 3d clouds
... [ ] weather fx
... [ ] rain drops
[ ] fast rendering of grass
[ ] sub surface scattering
[ ] more cameras/films
[ ] animation
[ ] films/sensors
... [ ] transparent films
[ ] GUI