|
|
LuxRender is a Free, Open Source and heavily modified GPL fork from the PBRT
sources, keeping portability between both codebases intact whenever possible,
and implements new features as a superset of PBRT's.
New Web Site is now http://www.luxrender.net
Here some current features:
User Frontends
* FLTK based Graphical User Interface with interactive rendering controls,
tonemapping controls and a progressive/linear viewport.
Realtime engine control with Adding & Removing of rendering threads and
start/pause/restart controls.
Portable and consistent look & feel across platforms.
* Command Line User Interface for headless/scripted operation.
* Direct Blender python User Interface using the C++ API together with
boost::python (no scenefile output and engine launch/loading/parsing is
required). (slated for v0.2 release)
Compatibility/Optimization
* Native 32- & 64 bits binaries for GNU/Linux, MS-Windows(R) and MacOS X(R)
operating systems will be provided for all major releases.
* Multithreading for multi-core or SMP systems. Thread control is available
in the API, which allows for creation and removal of threads on the fly during
rendering.
*
Intel SSE/SSE2 SIMD code-level optimizations for vector/matrix types.
* Boost C++ Shared Libraries are used throughout the system.
C/C++ Programming API
*
Flexible and complete C/C++ programming API, which allows for direct
integration of the LuxRender Engine core into applications. (provided GPLv3
licensing conditions are met.)
Hierarchical graphics state with attribute and transformation stacks, and
active light retention.
* Plans are in the works to align the API with Blender for direct
integration of the engine into Blender as a shared library. v0.2 release will
allow a pseudo implementation of this concept through python > C++ API calls
(using boost::python)
Scene File format
*
Compact RIB-like file format which implements the complete API. (.lxs
extention)
* Fast Flex/Bison file scanner/parser.
Engine Core
Surface Integrators
* Unbiased
o path (Path Tracing)
o bidirectional (Bidirectional Path Tracing)
* Biased
o exphotonmap (Photonmapping using final gathering)
o irradiancecache
o igi (Instant Global Illumination)
o directlighting
* Misc
o debug (Visual debugging integrator)
Volume Integrators
* single (Single Scattering)
* emission (...)
Samplers
*
metropolis (MLT prototype, v0.2, path/bidirectional integrators only)
* lowdiscrepancy (Quasi Random using [0,2] sequences)
* random (Pseudo Random using a Mersenne Twister generator)
* stratified (subdivision of non-overlapping regions)
* bestcandidate (patterned using dart throwing)
Alll samplers are adaptive and can provide samples for all integrators, except
the Metropolis-Hastings sampler, which can draw samples from all other samplers
and provide them mutations to path/bidirectional.
Image film can be sampled progressively (eg watch as the render becomes less and
less noisy), or traditional linear/finite.
Geometry
Intersection Acceleration Structures
*
grid (Uniform grid)
* kdtree (SAH KDtree)
Shapes/Primitives
* sphere (full or partial with u/v parameters)
* cylinder (full or partial with angle parameter)
* disk (full or partial with angle parameter)
* cone (full or partial with angle parameter)
* paraboloid (full or partial with angle parameter)
* hyperboloid (full or partial with angle parameter)
* trianglemesh
* heightfield
* loopsubdiv (loop subdivision from base control mesh with arbitrary levels)
* nurbs (Non Uniform B-Splines)
Lightsources
Geometric
* area
En emissive lightsource which can use any Shape as it's geometry. Also
called a 'mesh emitter' if used with a trianglemesh Shape. (supports Exit
Portals)
Environment
* sunsky
Physically based Sunlight & Daylight model (Preetham/Shirley/Smits) as
used in most modern unbiased renderers. (supports Exit Portals)
* infinite
Infinite Area Light, environment lightsource/map using a colour or
texture. (supports Exit Portals)
* infinitesample
Same as above but using improved sampling. (supports Exit Portals)
Traditional
* distant (Parallel lightsource)
* goniometric (Goniophotometric diagram lightsource)
* point (Traditional point light source)
* projection (Texture projection lightsource)
* spot (Traditional spot light source)
Camera Models
* perspective
Supports true DOF (depth of field) using lens radius and focal distance
parameters.
Supports exposure control using shutter open/close time parameters.
* orthographic
* environment
Materials, Volumes & Textures
BRDFs
* Diffuse
o Lambertian
o Oren-Nayar (using sigma parameter)
* Specular
o Perfect Specular
o Glossy Specular using any of the following Microfacet distribution
models:
+ Torrange/Sparrow (Isotropic, linear)
+ Blinn (Isotropic, exponential fallof)
+ Ashikmin/Shirley (Anisotropic/exponential with separate u/v
parameters)
* Mixing
o Fresnel for Dielectrics (using IOR parameter)
o Fresnel for Conductors (using n/k parameters)
o Fresnel blending for specular with diffuse-substrate
(Ashikmin/Shirley model)
Materials
Unified Material System (slated for v0.2 release)
A new innovative programmable material system is currently in development and
slated for v0.2 release.
The new system allows for recursive material definitions down to the BRDF level,
while providing easy to use frontends for artistic users and dynamic frontends
in the exporters/GUI's.
Legacy PBRT Material System (current, v0.1 release)
*
matte (Lambertian or Oren-Nayar 'matte paint' diffuse reflection)
* plastic (Glossy Dielectric Diffuse/Specular using a Blinn Microfacet
distribution)
* shinymetal (Glossy Conductor Diffuse/Specular using a Blinn Microfacet
distribution)
* substrate (Glossy Frensel Blended Diffuse substrate/Specular superstrate
using an Iso/Anisotropic Ashikmin/Shirley Microfacet distribution)
* glass (Fresnel Dielectric with perfect specular reflection and
transmission)
* translucent (Fresnel Dielectric with glossy specular reflection and
transmission using a Blinn Microfacet distribution)
* mirror (Perfect specular reflection)
* uber (Flexible base material with control over all reflection/transmission
BRDFs)
* bluepaint (measured)
* brushedmetal (measured)
* clay (measured)
* felt (measured)
* primer (measured)
* skin (measured)
Textures
All textures can be used to modulate any material/BRDF parameter as well as
material Bump maps.
Mappings
*
2D u,v Mapping
* Planar Mapping
* Spherical Mapping
* Cylindrical Mapping
* 3D Mapping
Mixing
*
mix (Mix any two textures using a specified amount)
* scale (Multiply 2 textures)
Image Textures
*
imagemap (HDR or LDR image texture, with MIPMAPs)
Filtering
bilerp (Bilinear)
EWA (anisotropic)
Solid & Procedural Textures
*
checkerboard (2D or 3D parametrizeable checks)
* constant (Constant Spectrum)
* dots (Polka dots, using Perlin noise)
* fbm (using Multi octave Perlin noise)
* marble (using Multi octave Perlin noise)
* windy (using Multi octave Perlin noise)
* wrinkled (using Multi octave Perlin noise)
Volumes
* exponential
* homogenous
* volumegrid (3D grid based volume)
Film/Texture Imaging Pipeline
Colour handling
* Spectra (used throughout the render engine core)
* CIE XYZ (intermediate, useable from API and for XYZ output formats)
* RGB(A) (used for colour definitions in scene file format/API and RGB(A)
image output.)
Film / Texture Image file formats
* OpenEXR RGBA
* TGA (24bits RGB or 32bits RGBA)
* All formats supported by the FreeImage library (slated for v0.2 release)
Tonemapping Kernels
* contrast
* highcontrast
* maxwhite (Maximum to White)
* nonlinear (Spatially varying non-uniform scale based on Reinhard2001)
* reinhard (Implementation of nonlinear/Reinhard2004 with burn, pre- and
postscale parameters)
Additional Pipeline Features
* HDR Bloom filter
* Gamma correction
* Pre-Quantization output dithering
Pixel Sample Reconstruction Filters
All filter sizes are parametrizeable.
* box
* gaussian
* mitchell
* sinc
* triangle
Post a reply to this message
Attachments:
Download 'luxrender.jpg' (124 KB)
Preview of image 'luxrender.jpg'
|
|