Cycles / OSL:

* Add a few more OSL templates to the Text Editor, so people can use some of the OSL only shaders and closures.

* Temperature (Kelvin) to RGB converter
* Wavelength to RGB converter
* Ramp closure (Phong and Diffuse)
* Toon closure (Diffuse and Specular)
This commit is contained in:
Thomas Dinges 2013-05-01 13:21:15 +00:00
parent 4b0051b59c
commit 0440d77dbc
4 changed files with 50 additions and 0 deletions

@ -0,0 +1,20 @@
shader node_ramp_bsdf(
float Exponent = 10.0,
color Color1 = color(0.8, 0.0, 0.0),
color Color2 = color(0.0, 0.8, 0.0),
color Color3 = color(0.0, 0.0, 0.8),
color Color4 = 0.1,
color Color5 = 0.2,
color Color6 = 0.3,
color Color7 = 0.4,
color Color8 = 0.5,
normal Normal = N,
output closure color Phong = 0,
output closure color Diffuse = 0)
{
color Color[8] = {Color1, Color2, Color3, Color4, Color5, Color6, Color7, Color8};
Phong = phong_ramp(Normal, Exponent, Color);
Diffuse = diffuse_ramp(Normal, Color);
}

@ -0,0 +1,9 @@
shader temperature_to_rgb(
float Kelvin = 1200.0,
output color Color = 0.8)
{
/* Kelvin to RGB */
Color = blackbody(Kelvin);
}

@ -0,0 +1,12 @@
shader node_toon_bsdf(
color Color = 0.8,
float Size = 0.5,
float Smooth = 0.0,
normal Normal = N,
output closure color Diffuse = 0,
output closure color Specular = 0)
{
Diffuse = Color * diffuse_toon(Normal, Size, Smooth);
Specular = Color * specular_toon(Normal, Size, Smooth);
}

@ -0,0 +1,9 @@
shader wavelength_to_rgb(
float Wavelength = 500.0,
output color Color = 0.8)
{
/* Wavelength to RGB */
Color = wavelength_color(Wavelength);
}