Work on 3Delight started in 1999. The renderer became first publicly available in 2000. 3Delight was the first RenderMan-compliant renderer combining the REYES algorithm with on-demand ray tracing. The only other RenderMan-compliant renderer capable of ray tracing at the time was BMRT. BMRT was not a REYES renderer though. 3Delight was meant to be a commercial product from the beginning. However, the 3Delight team decided to make it available free of charge from August 2000 to March 2005 in order to build a user base. During this time, customers using a large number of licenses on their sites or requiring extensive support were asked to kindly work out an agreement that specified some form of fiscal compensation for this. In March 2005, the license was changed. The first license was still free. From the second license onwards, the renderer used to be 1,000 USD per two thread node resp. US$1,500 per four thread node. The first company that licenses 3Delight commercially, in early 2005, was Rising Sun Pictures. The licensing scheme was originally based on number of threads or cores. Since 2018, all purchased licenses are unlimited multi-core. The first license is free; initially limited to four cores and later increased to eight and now 12.
Features
Until version 10, 3Delight primarily used the REYES algorithm but was also well capable of doing ray tracing and global illumination. As of version 11 3Delight primarily uses Path Tracing, with the option to use the REYES + RayTracing when needed. The renderer is fully multi-threaded, supports RenderMan Shading Language 1.0/2.0 with optimising compiler and last stage JIT compilation. 3Delight also supports distributed rendering. This allows for accelerated rendering on multi-CPU hosts or environments where a large number of computers are joined into a grid / cloud. It implements all required capabilities for a RenderMan-compliant renderer and also the following optional ones:
Area light sources
Depth of field
Displacement mapping
Environment mapping
Global illumination
Level of detail
Motion blur
Programmable shading
Special camera projections
Ray tracing
Shadow depth mapping
Solid modeling
Texture mapping
Volume shading
3Delight also supports the following capabilities, which are not part of any capabilities list:
Photon mapping
Point clouds
Hierarchical subdivision surfaces
NURB curves
Brick maps
Conditionals
Class-based shaders
Co-shaders
Other features include:
Extended display subset functionality to allow rendering of geometric primitives, writing to the same display variable, to different images.
For example, display subsets could be used to render the skin and fur of a creature to two separate images at once without the fur matting the skin passes.
Memory efficient point clouds. Like brick maps, point clouds are organized in a spatial data structure and are loaded lazily, keeping the memory requirements as low as possible.
Procedural geometry is instanced lazily even during ray tracing, keeping the memory requirements as low as possible.
Displacement shaders can be stacked.
Displacement shaders can be run on the vertices of a geometric primitive, before that primitive is even shaded.
The gather shadeop can be used on point clouds and to generate sample distributions from images, e.g. for easily combining photon mapping with image based lighting.
A read/write disk cache that allows the renderer to take strain off the network, when heavy scene data needs to be repeatedly distributed to clients on a render farm or image data sent back from such clients to a central storage server.
A C API that allows running RenderMan Shading Language code on arbitrary data, e.g. inside a modelling application.