so here's 0.7 test 1.
There's a metric fuckton of new stuff, the big ones are
SSS + participating media (experimental), new media system, polarisation (experimental),
camera bloom, mem usage optimisation, autofocus, a glossy transparent material, instancing, a blend_material (allowing material trees)
NOTE: many stuffs may not work!!!! this is a TEST release!!
ANOTHER NOTE: your xml files will need to change, quite a lot
I'll be writing on how to use these features soon.
stuff that is currently broken:
* kdtree disk caching
* bidirectional stuff
* probably lots of other stuff
http://www.indigorenderer.com/montecarl ... _test1.zip
Changelog:
v0.7 test 1
* improved disc sampling
* added in polarisation simulation
* specular tag of phong removed; use ior instead.
* added bloom tag to camera tag.
* added in precedence for transparent specular materials
* some small speedups for kdtree traversal
* added in blend material
* added diffuse_transmitter material
* added autofocus option for camera
* (re)added ply model loading
* fucked around with mesh loading code
* meshes should use less memory now
* raises fatal error on unexpected element when parsing scene xml
* throw error on texture missing, instead of issuing warning
* changed how burn is used, the burn value is now based on the average image luminance instead of the max over all the pixels.
* Added in new 'medium' object and changed how specular materials work.
* changed absorption to absorption_coefficient_spectrum
* added glossy_transparent material
* added uniform spectrum type
* Added internal mesh instancing
* raises error on non-orthogonal rotation matrix
* added SSS and participating media in general.
* added normal_smoothing boolean element to mesh element.
* removed enable_normal_smoothing element from model element
* added fatal error if no lights in scene
* possibly fixed specular bump mapping bug (was not binding uv coords)
* removed gain from texture elements, using a, b, c polynomial coefficients instead
* fixed bug where reverse gamma correction was applied multiple times to same texture.
EDIT:
--------------Documentation-----------------
Some documentation updates:
http://www.indigorenderer.com/montecarl ... Manual.pdf
------------- XML Stuff ------------
There's heaps of test scenes to look at if you're in doubt about how to do something, but here's some changes:
You'll need to add
Code: Select all
<normal_smoothing>true</normal_smoothing>
Code: Select all
<normal_smoothing>false</normal_smoothing>
Camera with bloom:
Code: Select all
<camera>
<pos>0 -2 1</pos>
<up>0 0 1</up>
<forwards>0 1 0.02</forwards>
<aperture_radius>0.0001</aperture_radius>
<focus_distance>3.0</focus_distance>
<aspect_ratio>1.33</aspect_ratio>
<sensor_width>0.036</sensor_width>
<lens_sensor_dist>0.02</lens_sensor_dist>
<white_balance>D65</white_balance>
<bloom>
<weight>0.1</weight>
<radius>0.05</radius>
</bloom>
</camera>
Code: Select all
<autofocus/>
To define a medium, in this case glass:
Code: Select all
<medium>
<name>glass</name>
<ior>1.5</ior>
<cauchy_b_coeff>0.0</cauchy_b_coeff>
<absorption_coefficient_spectrum>
<uniform>
<value>0</value>
</uniform>
</absorption_coefficient_spectrum>
<precedence>10</precedence>
</medium>
Code: Select all
<material>
<name>glass</name>
<specular>
<transparent>true</transparent>
<internal_medium_name>glass</internal_medium_name>
</specular>
</material>
Code: Select all
<material>
<name>frosty_glass</name>
<glossy_transparent>
<internal_medium_name>glass</internal_medium_name>
<exponent>1000</exponent>
</glossy_transparent>
</material>
A medium with SSS:
(not sure if SSS is working right now tho)
Code: Select all
<medium>
<name>scattering_medium</name>
<ior>1.5</ior>
<cauchy_b_coeff>0.0</cauchy_b_coeff>
<absorption_coefficient_spectrum>
<rgb>
<rgb>10000.0 2 2</rgb>
</rgb>
</absorption_coefficient_spectrum>
<subsurface_scattering>
<scattering_coefficient_spectrum>
<uniform>
<value>2</value>
</uniform>
</scattering_coefficient_spectrum>
<phase_function>
<uniform/>
</phase_function>
</subsurface_scattering>
</medium>
Blend material, in this case using a texture to blend between the
materials named 'a' and 'b':
EDIT: updated with fixed example.
Code: Select all
<material>
<name>default</name>
<blend>
<a_name>a</a_name>
<b_name>b</b_name>
<blend_factor>0.5</blend_factor>
<blend_map>
<uv_set>albedo</uv_set>
<path>checker.jpg</path>
<exponent>1.0</exponent>
</blend_map>
</blend>
</material>