Change Log

From Sunflow Wiki

Jump to: navigation, search

This is the text of the change log that comes with the Sunflow binaries for the Sunflow versions that are in the SVN.

v0.07.3

  • Fixed bump mapping to correctly treat black as the lowest point in the map
  • Added command line override for samples paramter (affect bucket and multipas samplers)
  • Added cubic bspline filter to multipass image sampler (via warp function)
  • Fixed "usage of init" statistic report in BIH
  • Added cubic bspline filter
  • Fixed counting of secondary rays clipped by ray depth limit
  • Added lattice sampling routines (experimental)
  • Fixed CornellBox light source sampling
  • Fixed all image readers/writer to use buffered I/O
  • Added motion blur syntax for instances and objects in .sc files
  • Added shutter parameter to camera to allow motion blur of scene objects even when the camera is static
  • Camera and Instances are now controlled by moving matrices and may be motion blurred
  • Added MovingMatrix4 class
  • Removed eye/target/up syntax for describing camera transform (parameters only - not .sc syntax)
  • Added total rays to statistics output
  • Fixed filtering in y direction for BucketRenderer
  • Fixes to QMC sigma table - no longer requires precomputation
  • Implemented low sampling density for ImageBasedLight in fixed mode
  • Added PerlinModifier
  • Bug fix to writeVerbatimString() in binary scene writer
  • Added sampler choice to image block in .sc parser
  • Small bugfix to command line sampler choice
  • Moved shading cache into new image sampler
  • Added a new image sampler (MultipassRenderer - not multipass yet)
  • Added statistics to count number of rays cast
  • Removed "robust" intersection code for triangles and bezier patches
  • Added sphereflake primitive
  • Moved Nan/Inf check into LightServer, demoted to warning severity
  • Fix to allow LDR images in IBL
  • File browser in SunflowGUI remembers previous directory
  • Modified Matrix4 class to only accept affine transformations
  • Added cylinder primitive
  • Removed getUniqueName method from SunflowAPI
  • Fixed more potential locale issues with case conversion by forcing the ENGLISH locale to be used
  • Renamed get/setCurrentFrame to currentFrame in SunflowAPI
  • Renamed parse to include in SunflowAPI
  • Added reset keyword to new scene file format
  • Fixed access levels on certain classes in org.sunflow package
  • Fixed spelling of absorption in glass shader - left backwards compatibility in SCParser
  • Added reading/writing of Indigo's IGI file format
  • Added GenericBitmap format for simple debugging tasks
  • Added more robust file extension detection
  • Refactored Bitmap loading/saving with plugin system
  • Bug fix when reading interpolation types on non-english operating systems
  • Added -translate command line parameter
  • Added translate() method to convert any file format into the new ones
  • New ascii/binary file formats (sca/scb)
  • Added new colorspace options for color parameters (blackbody/spectrum)
  • Changed the way colors are specified to SunflowAPI
  • Upgraded to Janino 2.5.6
  • Added camera shift option to pinhole and thinlens camera lenses
  • Updated examples
  • Moved scene parsers to plugin system
  • Moved photon maps to plugin system
  • Replaced object factories with PluginRegistry lookups
  • Updated all parsers
  • Added PluginRegistry and modified SunflowAPI to create objects through it instead of requiring users to create objects themselves
  • Changed cornellbox primitive into the light block in the .sc parser
  • Light objects can now specify their geometric represtentation at runtime
  • Particle point positions can now be specified inline in the scene file
  • Particle data files can now be scene relative (via include paths)
  • Improved motion blur sampling
  • Moved shaderOverride to an option

v0.07.2

  • Filled in and corrected javadoc comments in org.sunflow.core package
  • Upgraded to Janino 2.5.5
  • Added experimental Ant build file
  • Removed hard coded sRGB curve
  • Fixes to bucket renderer anti-aliasing
  • Camera motion blur
  • Added bezier patch meshes to parser
  • Added normal smoothing to FileMesh
  • Implemented BVH2 case properly in BoundingIntervalHierarchy (needs benchmarking)
  • Added binary STL format to FileMesh
  • Upgraded to Janino 2.5.4
  • Improvements to Geometry class to handle tesselation failures
  • Created FileMesh class for on-demand loading of meshes (supports RA3/OBJ)
  • Tweaks to Benchmark class for third parties
  • Small bugfixes
  • Added little_endian option for particle files

v0.07.1

  • Added Modifier concept - used to implement bump/normal mapping at the moment
  • Added bucket dumping debugging option to bucket render - saves out unfiltered buckets as they are rendered
  • Fixed jitter option - added to SCParser image block
  • Added basic absorbtion model to GlassShader
  • Added ngon sampling to ThinLens for bokeh effects
  • Renamed MeshLight to TriangleMeshLight
  • Updated LightSource interface - lights must now do their own loop to take mutltiple samples
  • Spherical triangle sampling for triangle lights
  • New wireframe shader (-quick_wire command line option)
  • Added calls to get triangle vertices
  • Added camera space utility functions
  • Upgraded to Janino 2.5.3
  • Upgraded to Janino 2.5.2
  • Added sun light to SunSkyLight - modified LightSource interface slightly
  • Added support for "noinstance" keyword
  • Unified instance handling in .sc parser
  • Added -pathgi command line argument
  • Added basic animation support
  • Added SunSkyLight
  • Added QuadMesh primitive type (using bilinear patches)
  • Added real sphere lights
  • Console display now outputs to stderr to allow stdout to be used for output redirection
  • Added fisheye lens to .sc parser
  • Added imgpipe display compatible with mental ray imgpipe protocol
  • Experimental fix to light bleeding problem
  • Removed -accel command line option
  • Deprecated use of accel keyword in .sc files - the default is usually best
  • Moved accel into an option parameter
  • Added -filter command line option
  • When baking a lightmap without viewdep, a camera is not required in the scene
  • Added -bakedir command line option
  • Added baking.viewdep option to control lightmap baking style
  • Lightmap baking can now either be view-dependent (to the current camera) or orthographic (perpendicular to the point being shaded)
  • Added XYZColor class to represent colors with CIE coordinates
  • Rengereated golden images for Benchmark data
  • Fixed a subtle problem with float/int constructors for the Color class
  • Added lightmap baking - only triangular meshes are supported at the moment
  • Renamed DLASurface to ParticleSurface
  • SCParser: Made all the options in the image block optional
  • Added fake spherical lights (approximated by point lights - using the trick from the Lightcuts paper)
  • Bug fix to RA2Parser (was passing fov argument to camera incorectly)
  • Added a method to dump Mesh objects to .obj files (usefull for procedural geometry debugging)
  • Added DLASurface for efficient rendering of large sets of spheres
  • Split Camera into CameraLens (which is an interface to generate rays in camera space) and an internal Camera class which rotates the rays into world space
  • Upgraded to Janino 2.5.1
  • Upgraded to Janino 2.5.0
  • Parser now generates bezier patch primitives intead of triangles is the subdivs/smooth parameters are ommited
  • Added exact Ray/Bezier-patch intersection code
  • Added Teapot and Gumbo primitives, both using bezier patch descriptions
  • Added Bezier patch mesh, which generates a triangle mesh at runtime
  • Added janino-tesselatable primitive
  • Added on demand tesselation of primitives
  • Added a parser for hair curve data as export by Shave and Haircut (http://www.joealter.com)
  • Added a hair curve primitive
  • Implemented parameter system for all render object creation
  • Textures are now loaded on demand, when they are first accessed
  • Modified bucketOrder call in SunflowAPI to create inverted bucket orders
  • Added InvertedBucketOrder
  • Added RandomBucketOrder
  • Added Box primitive
  • Removed SimpleShader from parser classes
  • Added SimpleShader which shades using facing ratio
  • Modified IDShader to be based on instance ID only, and to use facing ratio for better shading
  • Added -quick_id option on the command line to override using IDShader
  • Slight simplification of KDTree traversal
  • Added ParameterList class to store arbitrary name/value pairs
  • AccelerationStructure's are now built on demand for each geometry
  • Added verbosity control to the UI system. Accessible on the command line using "-v n".
  • Modified Scene to use an InstanceList
  • Converted Janino invocations to use the default system compiler
  • Upgraded to Janino 2.5.0
  • Modified Mesh class to implement the AggregateTraceable interface
  • Added AggregateTraceable interface
  • Implemented Instance/Traceable combination
  • Added checks for black diffuse/specular components
  • Added PerlinVector which produce vector valued noise
  • Renamed ImprovedNoise to PerlinScalar and added renderman-like calls