SLG Release Notes - LuxRender Wiki
Luxrender GPL Physically Based Renderer

SLG Release Notes

Personal tools

From LuxRender Wiki

(Redirected from SLG History)
Jump to: navigation, search

Contents

SLG History

Before 1.4

Before joining LuxRays, SLG was a stand alone demo. Some information about old versions is available here.

Version 1.4

This version has introduced the support for materials.

What's new 1.4beta1

  • the support for a new scene format that allows both multiple object files and material definitions, for instance:
scene.camera.lookat = 0.5 -1.4 1.7 0.0 0.0 0.4
#scene.materials.matte.shell = 0.0 0.0 0.75
#scene.materials.mirror.shell = 0.75 0.75 0.75 1
#scene.materials.mattemirror.shell = 0.0 0.0 0.75 0.05 0.05 0.05 1
scene.materials.glass.shell = 0.69 0.78 1.0  0.69 0.78 1.0  1.0 1.45  1 0
scene.materials.matte.whitematte = 0.75 0.75 0.75
scene.materials.light.whitelight = 50.0 50.0 50.0
scene.objects.whitematte.room = scenes/luxball/room.ply
scene.objects.whitematte.luxinner = scenes/luxball/luxball-inner.ply
scene.objects.whitematte.luxtext = scenes/luxball/luxball-text.ply
scene.objects.shell.luxshell = scenes/luxball/luxball-shell.ply
scene.objects.whitelight.l1 = scenes/luxball/luxball-light1.ply
scene.objects.whitelight.l2 = scenes/luxball/luxball-light2.ply
  • At the moment, the supported material are: matte, mirror, mattemirror (a ceramic-like material), glass and light. The parameters to use are:
  1. matte: 3 parameters, RGB
  2. mirror: 4 parameters, RGB + 0 or 1 to disable/enable caustics
  3. mattemirror: 7 parameters, RGB + reflected RGB + 0 or 1 to disable/enable caustics
  4. glass: 10 parameters, reflected RGB + transmitted RGB + outside index of refraction (usually 1.0) + index of refraction (i.e. 1.5 for glass, etc.) + 0 or 1 to disable/enable reflected caustics + 0 or 1 disable/enable transmitted caustics
  5. light: 3 parameters, RGB gain

What's new 1.4beta2

  • solved a problem with LF/CR and scene files;
  • metal material: 5 parameters, RGB + Exponent (i.e. higer value => less blured reflection) + 0 or 1 to disable/enable caustics;
  • mattemetal material: 8 parameters, RGB diffuse + RGB specular + Exponent (i.e. higer value => less blured reflection) + 0 or 1 to disable/enable caustics;
  • ray epsilon can now be defined via the new render.cfg property "scene.epsilon";
  • applied Rikb'spatch for PNG support;
  • added a new render.cfg property ("image.filename") to define the name and type (according the file extension) of image file saved in batch mode;
  • added a new render.cfg property (batch.haltspp) to stop the rendering when a defined amount of samples per pixel has been done;
  • default image format is now PNG;
  • new thread-less (i.e. less overhead) implementation of the support for virtual devices (i.e. multiple GPUs);
  • added the support for a ALL_UNIFORM light strategy. The light strategy used can be selected via the "path.lightstrategy" property. "0" is for ONE_UNIFORM strategy while "1" is for ALL_UNIFORM;
  • LuxRays can now be compiled and run on a platform where OpenCL is not available by defining LUXRAYS_DISABLE_OPENCL;
  • added the support for saving/resuming rendering from a file via "screen.file" property;
  • added the support for texture mapping. The texture map associated to a .ply object can be now defined with the following syntax: "scene.objects.egyptcat.egyptcat = scenes/cat/egyptcat.ply|scenes/cat/EgyptCat.png";
  • added support for .ply without vertex colour information;
  • applied Rikb's patch for command line options clean up.

What's new 1.4beta3

  • fixed thread priorities for OpenCL devices (under Linux);
  • added support for saving images in OpenEXR format;
  • first implementation of HDR infinite light source (with scene.infinitelight.file and scene.infinitelight.gain scene properties);
  • fixed PerspectiveCamera behaviour;
  • added support for depth of field with scene.camera.lensradius and scene.camera.focaldistance;

Version 1.5

What's new 1.5beta1

  • fixed a bug in direct sampling light sources for lambertian surfaces;
  • fixed other material related bugs;
  • added support for portals in infinitelight source. The syntax for adding portals to a light source is "scene.infinitelight.file = scenes/simple-mat/sky.exr|scenes/classroom/portal.ply".
  • added "scene.infinitelight.shift" parameter to translate the texture map used for infinitelight;
  • added a new screen.gamma parameter to set the value used for gamma correction;
  • added the support for resuming a rendering via .flm file ("screen.file" property);
  • added the support for multiple .flm files (a trick to do network rendering with SLG);
  • added support for importance sampling in infinitelight;
  • preview mode is now based on elapsed time and not on pass count anymore;
  • fixed the sampling restarting line after a window resize;
  • applied Livuxman's patch to fix Russian Roulette bug;
  • applied Livuxman's patch to restore brute force infinitelight sampling (via scene.infinitelight.usebruteforce property);
  • added the support for participating media;
  • added support for bump mapping (based on Riku 'rikb' Walve's normal mapping patch);
  • added an object property (i.e. .useplynormals = 1) to use the normals present in the PLY file;
  • applied David 'livuxman' Rodríguez's patch for bump mapping support in Blender exporter
  • added a new command line option (i.e. -d) to set current directory;
  • added russian roulette support to participating media via scene.partecipatingmedia.singlescatering.rrprob property;
  • updated Blender exporter to support media scattering;
  • fixed a problem in blender export when the world object doesn't exist and added cornell scene;

What's new 1.5beta2

  • added support for alpha channel in texture maps;
  • added code to center the rendering window on the screen;
  • added support for scaling factor in bumpmapping;
  • applied Riku 'rikb' Walve's patch for normal mapping support;
  • introduce new importance based Russian Roulette (selection via path.russianroulette.strategy property);
  • optimized QBVH kernel to use local memory instead of array (about +20% faster on HD5xxx GPU family);
  • introduced a telnet server interface to control SLG while running;
  • using FreeImage instead of libpng and OpenEXR, added the support for several image formats;
  • added support for ArchGlass and transparent shadows for alpha channel texture map;
  • added a check for NaN splatted on Film;

What's new 1.5beta3

  • added periodic image save in batch mode with batch.periodicsave property;
  • LuxRays NativePixelDevice;
  • added statistics about the amount of memory used on OpenCL device;
  • improved QBVH kernel code and adapted to latest ATI Driver/SDK;
  • added a property for direct lighting rendering with property path.onlysamplespecular or key 'u';
  • added Doxygen documentation building process for LuxRays and SLG;
  • fixed a bug causing preview mode to not be disabled;
  • updated Blender exporter for latest Blender 2.5 API changes;
  • replaced all Film types with LuxRaysFilm implementation (i.e. it uses PixelDevice);
  • added support for tonemapping for Native PixelDevice;
  • added properties for tonemapping and updated the Blender exporter;
  • added camera motion blur support;
  • added tonemapping commands to the telnet server;

What's new 1.5beta4

  • Chiaroscuro's patch for exporting Camera Up vector from Blender;
  • Rikb's patch to fix on screen help with window resize;
  • QBVH Scene can now be stored inside an OpenCL image in order to improve performances;
  • Introduced image filtering done via look up table;
  • Added an option to select ray tracing accelerator: BVH, QBVH, QBVH without image storage;

Version 1.6

What's new 1.6beta1

  • added support for different render engines;
  • added direct light, path tracing and stochastic progressive photon mapping render engines;
  • added multi-thread support to SPPM;
  • added hybrid hashgrid/kdtree hit points lookup accelerator to SPPM;
  • added options to switch between different render engine on the fly;
  • updated Blender exporter to match latest Blender API;
  • new Psor's cube test scene;

What's new 1.6beta2

  • added a comand to the telnet interface to redefine a material;
  • recursion replaced with iterative traversal for SPPM kd-trees (quite faster);
  • SPPM eye pass work is now split over multiple threads;
  • batch.periodicsave property now works even in no batch mode;
  • added telnet support for all scene.camera.* properties;
  • Chiaroscuro's patch for windows always-on-top option;
  • first SPPM eye pass work is split among multiple thread too;
  • the CPU and GPU work in SPPM is now asynchronous;
  • added support for scene.infinitelight.gain, scene.infinitelight.shift, scene.skylight.gain, scene.skylight.turbidity, scene.sunlight.dir, scene.sunlight.relsize, scene.sunlight.turbidity to the telnet interface;
  • added support for portals to SPPM;
  • First working MQBVH kernel: instances support (on NVIDIA, ATI compiler still crash);
  • Added Alloy material;
  • updated to latest Chiaroscuro's Blender exporter;