You can download the library either by cloning the git repository or by using one of the links below:
Latest stable version: 0.3.3 (2013/09/06) Release Notes
Binaries compiled against Arnold 126.96.36.199 (Compatible with MtoA 0.23.0 or later).
Read the included BUILD_INSTRUCTIONS.txt for instructions on building (if downloading the source package) and installing the shaders.
alShaders is a work-in-progress production shading library for SolidAngle's Arnold. It currently contains a surface shader and a few utility shaders, and the aim is to slowly build it into a full-featured production-quality shader library. As it is in constant development it is liable to change at any time and there's a good chance plenty of stuff is broken.
The library is developed by me, Anders Langlands, as a personal learning project and should in no way be associated with my employer.
The library is released as open source under the MIT licence. Please see the licence section below for terms and conditions.
Please email email@example.com with any questions, bug reports or feature requests. Sign up to the mailing list to be notified of new releases.
Click on the shader names below for the documentation (currently only alSurface is documented).
A general-purpose, physically plausible surface shader. It supports diffuse, backlighting, emission, subsurface, two layers of (glossy) specular and (glossy) transmission including single scattering.
When used correctly the shader is energy conserving and correctly handles fresnel per microfacet. The images below show the effect of this on a basic skin shader. Note how the alSurface render on the left does not display the dark edges and artificially bright rim highlights in the aiStandard render on the right. The render times for both images were roughly equal.
The shader also supports outputting an aov per light (or group of lights) that includes all the indirect illumination caused by that light. The four smaller images below add up to make the larger image, which is exactly the same as the beauty.
A (very) WIP implementation of ISHair: Importance Sampling for Hair Scattering by Ou et. al.
A blackbody radiation shader that generates a plausible emission colour given the temperature of the material. Intended for hot things and light sources.
Utility shaders to combine float and color types in various ways (multiply, mix etc)
Node to convert sRGB and log images to linear for use in rendering
Shader to layer two surface shaders together
A cellnoise pattern generator with various different options for distance metrics and their combination
A fractal pattern generator capable of generating fBm, turbulence and (ridged) multi-fractal patterns.
A gabor noise pattern generator
A flow noise pattern generator
Basic 1D pattern generation - sine, saw etc.
Light filter for photometric light data. Currently supports IES files only.
Utility shaders for remapping and adjusting float and color values.
Utility shader for grabbing certain vector and point-like attributes from the shader globals (e.g. N, P, uv etc) for use in your shader networks.
- Jonah Friedman
- Tony Barbieri
- Marcos Fajardo
- Borja Morales
- Alan King
- Frederic Servant
- Stephen DeLalla
- Marcel Reinhard
- Jan Walter
Copyright (c) 2012 Anders Langlands
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.