|
|
I would like to see a number of features removed from the POV-Ray C
source code. These include:
- all primitive shapes - sphere, plane, cone, quadric, etc.
- all defined textures - wood, marble agate, checker, etc.
- all surface normal effects - ripples, waves
- all light sources - spotlight, area_light, etc.
- all atmospheric effects - fog, absorption, scattering, etc.
- lots of other superfluous stuff
Once this is all gone, you will end up with a much simpler raytracer
that does very little. This is the perfect starting point.
Now, you build a very simple but very expressive SDL grammar that allows
you to express graphical modeling concepts very simply. With this SDL,
you can then define what "sphere" means but this time it's written in
the SDL language, not in C. You can define what marble means. You can
define what fog means. All of these definitions become part of the SDL
and are included in a library which people can use.
Now, POV-Ray users can define their own textures and add them to the
system. They can add their own shapes, their own light sources, their
own atmospheric effects. They would have much more power than they ever
had. If done well, users would hardly notice the difference unless they
wanted to use the extra power.
POV-Ray should be a small simple engine to render user-defined shapes
with user-defined textures and user-defined light sources. To make them
user defined, you have to push them from the cryptic and inaccessible C
source into the SDL.
It will certainly take a considerable amount of redesign, but I feel
it's the best way to go. Less is more - take advantage of that.
David Buck
Post a reply to this message
|
|