If you spot any bugs or problems, please make a post about them in this thread.
Thanks!
Indigo for Windows 32-bit:
IndigoRenderer_2.4.3_Setup.exe
Indigo for Windows 64-bit:
IndigoRenderer_x64_2.4.3_Setup.exe
See the 2.4.2 post at http://www.indigorenderer.com/forum/vie ... f=1&t=9619 for a description of the network manager.
Some more new features:
UV affine transformations
Code: Select all
<material>
<name>mat1</name>
<diffuse>
<texture>
<uv_set>albedo</uv_set>
<path>__55_Chevy_by_marpo3.jpg</path>
<exponent>2.2</exponent>
<tex_coord_generation>
<uv>
<matrix>1 0 0 1</matrix>
<translation>0.5 0.5</translation>
</uv>
</tex_coord_generation>
</texture>
<albedo>
<texture>
<texture_index>0</texture_index>
</texture>
</albedo>
</diffuse>
</material>
This allows users to create fancy colour changing paints, that vary colour based on viewing angle.
There are two new functions added to the shading language, minCosTheta and maxCosTheta.
minCosTheta returns the minimum of the cosines of the zenith angles of the incident and exitant vectors of a ray scattering off a surface.
Likewise, maxCosTheta returns the maximum of the two.
You can use the return values of these functions to blend between different colours, like in the example below.
E.g.
Code: Select all
<material>
<name>default</name>
<phong>
<diffuse_albedo>
<shader>
<shader>
<![CDATA[
def eval(vec3 pos) vec3 :
lerp(
vec3(1.0, 0.0, 0.0),
vec3(0.0, 1.0, 0.0),
maxCosTheta()
)
]]>
</shader>
</shader>
</diffuse_albedo>
<exponent>
<constant>
10000.0
</constant>
</exponent>
</phong>
</material>
normalWS() Returns the shading normal for the current surface point in world space.
posOS() Returns the current surface point in object space coordinates.
Heterogeneous participating media
Participating media is stuff that scatters light - smoke, dust, snow, wax etc..
Heterogeneous means that the medium's properites can vary with position, meaning the medium can be denser in some places and less dense in others. Or it can vary in absorption colour etc..
This feature is pretty much still experimental, especially for non-uniform scattering coefficients.
Some parameters of Indigo media can now be controlled with shaders - absoprtion coefficient and scattering coefficient.
This is a pretty powerful feature, and should be able to create some pretty awesome effects.
Example:
Code: Select all
<medium>
<name>medium</name>
<precedence>20</precedence>
<basic>
<ior>1.0</ior>
<cauchy_b_coeff>0.0</cauchy_b_coeff>
<absorption_coefficient>
<shader>
<shader>
<![CDATA[
def eval(vec3 pos) vec3 :
vec3(fbm(pos, 3) * 10.0)
]]>
</shader>
<wavelength_dependent>false</wavelength_dependent>
</shader>
</absorption_coefficient>
</basic>
</medium>