See what's going on with flipcode!


Submitted by , posted on 21 December 2001

Image Description, by

It has been a while since I submitted an IOTD, so I thought why not show something I'm working on now in my free time :) The images above are all rendered using Mystique, which is the name of my first real render system.

After seeing all these global illumination renders on the web (since it's such a hot topic) I wanted to give it a try myself too, and this is the result till now. Still the system is far from finished and can be (and will be) improved on a lot of fronts. Let me tell something about the images you see.

The upper left image shows a UFO only lit by skylight, no additional lightsources in the scene. Currently the skylight is just a constant color, but I am planning to support real sunlight as well. The image on the right of that is the same UFO lit by skylight and an additional omni lightsource.

The cars below the UFOs are also rendered using global illumination (all pics use GI) but in an indoor environment and with reflections. There is one omni light a bit above the back of the car.

The tiger on the left is Majid, a model of our game in production. However the model isn't finished yet. Just a box around the tiger and an omni behind the tiger. The tigher head uses one omni on the left and skylight. You can see that the model are actually 2 models (a half tiger, mirrored) since the normals do not match up yet, so you that edge.

And finally at the bottom you see a car with only skylight on the left, and with skylight and materials and an omni and specular on the right.

Please note that the antialiassing still sucks. And the images are still noisy.

Time for some tech info:
  • Can render scenes being exported from 3DSMax 4 and Maya 4
  • Current render plugins for mystique are: SimpleTracer, which is just a simple raytracer with reflections and all the standard stuff and MCTracer which is the render plugin used to render all above images. It uses montecarlo techniques with stratisfication on the hemisphere to generate the current samples for indirect lighting. I will upgrade this later on to Quasi-Montecarlo, which doesn't use real random stuff, but still on some sort of random way (to avoid aliassing) which should reduce the variance in the renders quite a lot. And this in combination with importance sampling should result in really nice quality. The diablos and first tiger pic however used more samples. Unfortunately I don't exactly remember how many. Probably 5x5x5 or 6x6x5.
  • Mystique is a .lib, and I created some gui for it as well.
  • Most images shown used 4x4x5 samples per pixel (5 for anti aliassing, which is just simple area filter, but that sucks)
  • Current ray acceleration plugins are: SimpleGraph, which only uses object bounds and after that polygons as acceleration. And an Octree plugin, which uses an octree *duh* :) Ofcourse the octree speeds up a lot, but I will build new plugins soon, because octrees are definitely not the best for this. KDTrees will be better, or other types of grids. Still have to do some testing and research on this.
  • Support for area lights (triangle lights at the moment, so you can make emitting objects)
  • Coming soon:
  • Texture support (shaders)
  • Quasi MC
  • Importance sampling
  • Non lamb surfaces
  • Caustics
  • Refraction
  • Sunlight and cloud simulation
  • Transparent surfaces
  • Better anti aliassing
  • Depth of field
  • Planned for later:
  • Subsurface scattering
  • Volumetric effects (light, fog)
  • You can see some more renders at in the Mystique section.

    - John

    Image of the Day Gallery



    Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
    Please read our Terms, Conditions, and Privacy information.