F.A.Q.

Frequently asked Questions - and their answers!

Many thanks for all your e-mails from all over the world with very interesting comments, suggestions, questions, links and images!

Rendering is so slooooowwww... can you speed things up?
The WinOSi approach to solving the global illumination problem is a 'brute force' method which is very robust and accurate, but indeed very slow - compared to more elegant methods.

My primary intention was to deliver ultimate perfect photorealism, no matter the cost of rendering time. Nevertheless, in the next releases some optimizations will take place, making the renderer about 2 to 5 times faster, I guess.

But remember the first raytracers for the Amiga or the 80286 without coprocessor. They took hours, days and nights too for rendering simple scenes. On today's hardware raytracing simple scenes is possible in real-time! When in 12 years (according to Moore's law) PC hardware is 1000 times faster than today and WinOSi is finished and highly optimized its rendering speed may be not worth any further discussion.

Seems like you have re-invented Photon mapping. Check works from Henrik W. Jensen
WinOSi is indeed tightly related to the photon-mapping algorithm, but instead of rendering some kind of density estimation interpolated from a few photon samples, WinOSi directly renders the photon hits, which requires a very huge amount of photon samples, making the algorithm very slow, but also very exact and robust.

There are many other articles in the Web about global illumination renderers (mostly using path tracing or some kind of photon mapping technique) but I know only one, which delivers an executable program and even less which comes with complete source code. So that's the reason for 're-inventing' another global illumination renderer: To give me and the whole computer graphics community the chance to experiment with that kind of algorithms on their own.

Is there any stop criteria for the render process in the current release?
No. When the image is pretty enough in your opinion, you have to stop manually by selecting Render/Stop from the pulldown-menu.

I am experimenting with the local contrast as a stop criteria. It starts with a high value because of the noise, and if the image gets smoother and the noise reduces with each iteration, the local contrast converges to a certain end-value. Unfortunately this value is not known until the image is finished. So I let the renderer calculate the difference between the current local contrast and the one from the iteration before. This difference value goes to zero when the image has reached its final contrast after an infinite number of iterations. I thought to stop the renderer when it reaches a certain small difference value, but in practice the difference function is very noisy too, giving zero or even negative values very early. You can trace these two values during rendering in the File/Info-Dialog (bottom right).

Will WinOSi and its source stay public in the future?
As far as I can see today: Yes!

Where to find / How to create .vmd-files?
.vmd-files are simple text-files that can be created with a simple text-editor like notepad.exe. For people with some experience writing such files (POV users for example) it may be no problem to take one of the existing sample scenes as a template and change and add thinks till the desired rendering will come out.

Alternatively you could use my virtual Modeler VModel to convert existing 3D-files from other rendering/modeling software such as 3D-Studio(.3ds), AutoCAD(.dxf), VRML(.wrl), etc. into the .vmd-format. Unfortunately some fine-tuning by hand with a text-editor is always needed.

Shame on me: A complete description of the .vmd-syntax is still not available. The sample scenes and the source code are the only documentation yet.

How can I contribute to the further development?
If you need a special feature, say, for example: NURBS-surfaces, special procedural textures or a Mac-version, or if you have an idea for optimizing something or know a clever algorithm for this or that - just go on and implement it, send me the source-changes, and I'll add it to the next release and your name to the about-dialog.

When you need information or other help, just let me know - I'll do what I can.

When will the next version be released?
I have a job, a little family, a house with garden and many other hobbies, so I can't afford more than 1-2 hours a week working on WinOSi. My goal is to release a new version with 2-3 new major features every 6 months - let's see how things turn out...