I'm currently coding a level editor, I just need to get it to be able to select mesh buffers
![Smile :)](./images/smilies/icon_smile.gif)
Currently I have a texture loader and browser working.
Then the only feature will be moving, scaling and rotating, objects/nodes and meshbuffers. Along with combining them (and some limited forms of splitting).
The only really useful feature is going to be the radiosity calculator which will save a detailed 3d grid of spherical harmonics coding for ambient,diffuse,normals,depth and the opacity(could be omitted by using depth in a clever way) of the meshbuffer (11 or 10 channels as floating point data == 360bytes per harmonic). Obviously Mip-mapped versions of the data would exist...
It will be a bit of a pain, since I will have to code support for floating point 3d textures.
What I am planning to do with the data later on.. if the memory cutbacks are huge then I develop some kinda streaming (where objects far away load a lower magnitude harmonic grid). Also I will make Quadlinear filtering (trilinear for the grid and one more for mip-map levels). Then I shall sample the data with a grid (stuck to the camera) and try to somehow blend the harmonics from overlapping grids (planning to do some research here). This camera grid is going to be used in the ambient pass of my inferred rendering pipeline in my engine, giving me ambient illumination. I will hope to achieve performance improvements by only updating the grid when camera moves or an obejct in the frustum moves.
The illumination is going to be a two bounce:
mix(illumination from the skybox,illumination from the skybox for the harmonic of the radiating object,visibility of the skybox)
I'm also hoping that the depth and diffuse will enable me to calculate diffuse light from dynamic lights bouncing off objects (only if the harmonics blend in some way). From personal experience I can tell that a directional light could be possible (sun) but point lights would be significantly harder (although apparently there is a way to multiply the harmonics if the light data is made into a harmonic). I would be pleasantly surprised if I got spot lights working. Obviously there is a massive no-no for shadows
![Sad :(](./images/smilies/icon_sad.gif)
Anyway, for those who do not know that I have hacked a quick Global Illumination example for irrlicht...
http://project-ninja-star.googlecode.com/files/GIv2.zip
![Image](http://img836.imageshack.us/img836/6404/screenshot6b0.th.png)
![Image](http://img87.imageshack.us/img87/2526/screenshot10d.th.png)
![Image](http://img823.imageshack.us/img823/4465/screenshot13bd.th.png)