This ray tracer is quite unique in that it doesn’t rely on triangle meshes: you rather make objects from precise shapes, in a convenient language.
Sadly, I’ve quickly run into its limitations, partly demonstrated by the subsequent example:
its lack of a useful UI for Unix pushes you into an annoying trial and error cycle through its scene description language;
simulated caustics are broken by design—objects cast colourful shadows;
photon mapping is not adjustible, and the immensely intense beam clips colours wrong, maxing out (1, 0, 0.1) as (1, 0, 1);
it is generally very hard to express real materials and solids.
// povray +A Antialias_Threshold=0 +Q11 example.pov #version 3.7; #include "glass.inc" global_settings { max_trace_level 100 assumed_gamma srgb photons { count 1000000 } } camera { location <2.5, 2.5, -5> look_at <0, 0, 0> } light_source { <-5, 5, -5> color srgb<2, 2, 2> area_light <5, 0, 0>, <0, 5, 0>, 5, 5 jitter circular orient } plane { <0, 1, 0>, -1.5 finish { ambient .3 } pigment { checker color srgb<0.5, 0.6, 0.7> * 1.2, color srgb<0.75, 0.6, 0.45> * 1.2 } } #declare Pill = texture { pigment { color srgbft<0.6, 0, 0.35, 1.3, 0> } finish { F_Glass7 reflection { 0.01, 0.75 fresnel on } roughness 0.002 } } sphere { <0, 0, +2>, 1 scale <1.6, 1, 1> texture { Pill } interior { I_Glass } photons { target refraction on } } sphere { <0, 0, -1>, 1 scale <1.6, 1, 1> texture { Pill } interior { I_Glass caustics 0.5 } }
POV-Ray will certainly find its use, even today when it’s no longer being developed, but do not expect photorealism, and consider designing your scenes in other programs.
Comments
Use e-mail, webchat, or the form below. I'll also pick up on new HN, Lobsters, and Reddit posts.