Monday, 24 August 2009
Machine, a short film
The developers of 3delight are helping these guys with some sponsorship for their short.click for more..
Sunday, 23 August 2009
Sorbetto Relighting Tool
Sunday, 17 May 2009
3delight 8.5 Out Now
Info (Copy and Paste)
This release includes support for RSL 2.0 (shader objects and co-shaders) and further ray-tracing optimizations that should give significant performance gains when rendering displacements and motion-blur. 3Delight For Maya includes a new relationship editor to quickly explore and assign shaders and attributes as well as new "edge rounding" features to easily bevel edges on polygonal geometry.
This release includes support for RSL 2.0 (shader objects and co-shaders) and further ray-tracing optimizations that should give significant performance gains when rendering displacements and motion-blur. 3Delight For Maya includes a new relationship editor to quickly explore and assign shaders and attributes as well as new "edge rounding" features to easily bevel edges on polygonal geometry.
Saturday, 7 March 2009
FREE plugins for HDR Shop 1.0.3
http://www.banterle.com/francesco/download.html Banty's Toolkit 1.5 Beta- go get it
Sunday, 25 January 2009
IBL & HDR Tutorials
Hi luke,
I saw my tutorials in your blog...I have also IBL and HDR system tutorials in my blog:
http://comacchio.blogspot.com/2008_06_01_archive.html
if you want, you can use it.
bye, Luciano
another one...
http://www.3delight.com/en/modules/PunBB/viewtopic.php?id=934
bye, Luciano
++++++++++++++++++++++++++++++++++ Cheers Luciano --- tuck in everybody..............
I saw my tutorials in your blog...I have also IBL and HDR system tutorials in my blog:
http://comacchio.blogspot.com/2008_06_01_archive.html
if you want, you can use it.
bye, Luciano
another one...
http://www.3delight.com/en/modules/PunBB/viewtopic.php?id=934
bye, Luciano
++++++++++++++++++++++++++++++++++ Cheers Luciano --- tuck in everybody..............
Sunday, 23 November 2008
zdepth in 3delight
Hello Atom,
I am new to 3delight as i've been using m.ray for a long, long time. I was wounding if u have a moment to explain in the basic terms how to set up z depth that would give me optimal results in 3Dlight ? Any help would be much appreciated.
With Respect Dantes.
-------------------------
Hi Dantes, who is atom? apologies in answering your email so late
try this.
1) select in secondary Displays in 3delight renderpass - Display AOV - luminance depth
2) set the far clip plane close enough under the camera attributes to a suitable distance. maybe the distance of the furthest geometry.
........... or
or use a 32bit z pass and extract the data you need in your compositing tool - you have much more control :) - swag
I am new to 3delight as i've been using m.ray for a long, long time. I was wounding if u have a moment to explain in the basic terms how to set up z depth that would give me optimal results in 3Dlight ? Any help would be much appreciated.
With Respect Dantes.
-------------------------
Hi Dantes, who is atom? apologies in answering your email so late
try this.
1) select in secondary Displays in 3delight renderpass - Display AOV - luminance depth
2) set the far clip plane close enough under the camera attributes to a suitable distance. maybe the distance of the furthest geometry.
........... or
or use a 32bit z pass and extract the data you need in your compositing tool - you have much more control :) - swag
AMBIENT OCCLUSION POINT CLOUDS with deformations
AMBIENT OCCLUSION POINT CLOUD BAKING
1. Attach ptc_write shader to geometry, put in output name in eg "scene.ptc"
2. set attribute on geometry in 3delight- cull hidden surfaces, cull backfacing surfaces, raster orientated dicing to off
3. set up camera view to encompass the geometry
4. Render settings: Quality - Pixel Samples 1,1 Pixel Filter - Box Filter
, top camera. the quality can be cack cause your outputting the point cloud.
5. Render out .ptc file
6 Open ptc view and have a look at the .ptc file. spin it around like a crazy fool.
5 create bkm ( brickmap) file from ptc on command line put in ptc2brick "C:\scene.ptc" "C:\scene.bkm"
There other commands you can put in to vary quality etc, but that will get you going.
6, Attach bake_occlusion_Pref shader to geometry. Put in scene.bkm into the shader.
7 set bias in shader low to avoid white creases
, set the other setting how you see fit.
8. set attribute on geometry - cull hidden surfaces, cull backfacing surfaces, raster orientated dicing to on
set 3delight geometry attribute Visibilty to diffuse Rays(occlusion) Shader Color & opacity
10 Reset the rendering quality setting to the default or whatever you want.
11 Render
additional
POINT CLOUD BAKING FOR GEOMETRY THAT IS GOING TO DEFORM
1) Select Geometry - Maya Menu - Rendering - Texturing - Create Texture ref object.
2) Add attribute Reference Geometry in 3delight, output Pref, output Nref
3) Follow steps 2-10 above
shader (modified following instructions by mkesson, check out the 2 previous entry)
surface
bake_occlusion_Pref
(
string bake_file = "";
float maxtDist = 1;
float samples = 64;
float bias = 0.05;
varying point Pref=(0,0,0);
)
{
extern point Pref;
extern normal N;
normal Nn = normalize(N);
color ao = occlusion ( Pref, Nn, samples, "maxdist", maxtDist, "bias", bias );
ao = 1 - ao;
bake ( bake_file, s, t, ao );
Ci = ao;
Oi = 1;
}
1. Attach ptc_write shader to geometry, put in output name in eg "scene.ptc"
2. set attribute on geometry in 3delight- cull hidden surfaces, cull backfacing surfaces, raster orientated dicing to off
3. set up camera view to encompass the geometry
4. Render settings: Quality - Pixel Samples 1,1 Pixel Filter - Box Filter
, top camera. the quality can be cack cause your outputting the point cloud.
5. Render out .ptc file
6 Open ptc view and have a look at the .ptc file. spin it around like a crazy fool.
5 create bkm ( brickmap) file from ptc on command line put in ptc2brick "C:\scene.ptc" "C:\scene.bkm"
There other commands you can put in to vary quality etc, but that will get you going.
6, Attach bake_occlusion_Pref shader to geometry. Put in scene.bkm into the shader.
7 set bias in shader low to avoid white creases
, set the other setting how you see fit.
8. set attribute on geometry - cull hidden surfaces, cull backfacing surfaces, raster orientated dicing to on
set 3delight geometry attribute Visibilty to diffuse Rays(occlusion) Shader Color & opacity
10 Reset the rendering quality setting to the default or whatever you want.
11 Render
additional
POINT CLOUD BAKING FOR GEOMETRY THAT IS GOING TO DEFORM
1) Select Geometry - Maya Menu - Rendering - Texturing - Create Texture ref object.
2) Add attribute Reference Geometry in 3delight, output Pref, output Nref
3) Follow steps 2-10 above
shader (modified following instructions by mkesson, check out the 2 previous entry)
surface
bake_occlusion_Pref
(
string bake_file = "";
float maxtDist = 1;
float samples = 64;
float bias = 0.05;
varying point Pref=(0,0,0);
)
{
extern point Pref;
extern normal N;
normal Nn = normalize(N);
color ao = occlusion ( Pref, Nn, samples, "maxdist", maxtDist, "bias", bias );
ao = 1 - ao;
bake ( bake_file, s, t, ao );
Ci = ao;
Oi = 1;
}
Wednesday, 1 October 2008
Wednesday, 2 July 2008
Friday, 27 June 2008
simple occlusion pass.
simple deep shadows workflow...
Wednesday, 4 June 2008
Monday, 24 March 2008
New Book
Saturday, 23 February 2008
3Delight Video Tutorials
If your not sure how to use 3delight - theres really no excuse now :)
http://www.3delight.com/en/index.php/products/3delight_for_maya/tutorials
which were put together by paolo, check his website out too.
http://www.jupiter-jazz.com/trixr4kids/3delightedition/Author.html
http://www.3delight.com/en/index.php/products/3delight_for_maya/tutorials
which were put together by paolo, check his website out too.
http://www.jupiter-jazz.com/trixr4kids/3delightedition/Author.html
Tuesday, 18 December 2007
3Delight 7.0 and 3Delight For Maya 3.0 released
This is a blatant copy and paste!!!
Original message via Google News.
Remember that the first full license of the renderer is free!
Some of the most important features and improvements:
3Delight
Rendering Features
* New Image Based Lighting Algorithm. A more flexible and powerful approach to image based lighting is introduced.
* Point Based Occlusion and Color Bleeding.
* Brick Maps (3D Textures) for efficient and anti-aliased 3D data lookup.
* Display subsets. A unique feature that enables rendering of many layers, each with its own alpha channel and output variables, in one render pass.
Performance
* Multi-threading efficiency has been improved for scenes with high depth complexity.
* Point cloud files are not read in memory all at once any more: proper caching enables memory-efficient access to point cloud data.
* Subsurface scattering has been optimized and the pre-processing step is now run in multi-threaded mode.
* Deep Shadow Map creation is now multi-threaded.
* occlusion() and indirectdiffuse() have been accelerated through the use of adaptive sampling.
Texture Converter (tdlmake)
* A new -preview option makes textures appear as TIFFs of lower resolution to software such as Maya; this enables you to use a single texture for both Maya previews and final renders. Additionally, tdlmake now supports the TARGA file format.
New Tools
* ptc2brick is a tool to convert point cloud files to brick maps.
* ptcview is a tool to view point cloud files.
* ptcmerge is a tool to merge point cloud files.
Pipeline
* A new API to access point cloud files is available.
* A more advanced C++ API for DSO plug-ins is available.
3Delight For Maya
* The plug-in is better integrated into Maya. It now registers itself as a standard Maya renderer and is thus accessible through the Render Settings. Batch rendering and command line rendering (through the standard Maya Render command) is now possible.
* Improved HyperShade Translation:
o 3Delight For Maya tracks HyperShade network modifications and only translates and compiles shaders which have changed.
o The following hypershade nodes are now supported: ocean, remapValue, lightInfo, layeredTexture and volumeLight.
o The Image Sequence options of the File texture node are now upported.
o HyperShade networks for light sources are correctly translated into their RenderMan SL equivalent.
o The RenderMan Code shader can now declare output variables and those can be output using secondary displays (advanced).
* Support for RIB archives creation and reading using a user friendly, yet flexible, interface.
* Out-of-the-box support for Shave & a Haircut and much improved Maya Fur support.
* Object Instancers are fully supported.
* Shadow Maps can be rendered using arbitrary cameras. This allows for better shadow map view framing and thus better quality.
* More output variables added to secondary displays.
* Maya 2008 support.
The 3Delight Team
(www.3delight.com)
Original message via Google News.
Remember that the first full license of the renderer is free!
Some of the most important features and improvements:
3Delight
Rendering Features
* New Image Based Lighting Algorithm. A more flexible and powerful approach to image based lighting is introduced.
* Point Based Occlusion and Color Bleeding.
* Brick Maps (3D Textures) for efficient and anti-aliased 3D data lookup.
* Display subsets. A unique feature that enables rendering of many layers, each with its own alpha channel and output variables, in one render pass.
Performance
* Multi-threading efficiency has been improved for scenes with high depth complexity.
* Point cloud files are not read in memory all at once any more: proper caching enables memory-efficient access to point cloud data.
* Subsurface scattering has been optimized and the pre-processing step is now run in multi-threaded mode.
* Deep Shadow Map creation is now multi-threaded.
* occlusion() and indirectdiffuse() have been accelerated through the use of adaptive sampling.
Texture Converter (tdlmake)
* A new -preview option makes textures appear as TIFFs of lower resolution to software such as Maya; this enables you to use a single texture for both Maya previews and final renders. Additionally, tdlmake now supports the TARGA file format.
New Tools
* ptc2brick is a tool to convert point cloud files to brick maps.
* ptcview is a tool to view point cloud files.
* ptcmerge is a tool to merge point cloud files.
Pipeline
* A new API to access point cloud files is available.
* A more advanced C++ API for DSO plug-ins is available.
3Delight For Maya
* The plug-in is better integrated into Maya. It now registers itself as a standard Maya renderer and is thus accessible through the Render Settings. Batch rendering and command line rendering (through the standard Maya Render command) is now possible.
* Improved HyperShade Translation:
o 3Delight For Maya tracks HyperShade network modifications and only translates and compiles shaders which have changed.
o The following hypershade nodes are now supported: ocean, remapValue, lightInfo, layeredTexture and volumeLight.
o The Image Sequence options of the File texture node are now upported.
o HyperShade networks for light sources are correctly translated into their RenderMan SL equivalent.
o The RenderMan Code shader can now declare output variables and those can be output using secondary displays (advanced).
* Support for RIB archives creation and reading using a user friendly, yet flexible, interface.
* Out-of-the-box support for Shave & a Haircut and much improved Maya Fur support.
* Object Instancers are fully supported.
* Shadow Maps can be rendered using arbitrary cameras. This allows for better shadow map view framing and thus better quality.
* More output variables added to secondary displays.
* Maya 2008 support.
The 3Delight Team
(www.3delight.com)
Sunday, 7 October 2007
Pixar a Human Story of Computer Animation
Check out the video lecture
http://www.computerhistory.org
http://www.computerhistory.org
Monday, 2 July 2007
Thursday, 24 May 2007
ANISOTROPIC Shader
Hi,
nice blog!
I have create this shader for my work, for silk, velvet and aniso -
metal....(based on some shader of Renderman Sigg. couse)
it is not like a Bertrand's best shader, but have a some tex multiply
option......
and works with polygons.
Test with low raytrace:
give a look.
ciao
Alessandro Dalla Fontana
http://www.alessandrodallafontana.com/






--- put arrows on each side of the AOVoutputs.h bit below. blog wont show em!
#include AOVoutputs.h
surface AOVanisotropic( float Ka = .25, Kd = .75;
color surfaceColor = 1;
string texDif = "";
float Ks = .5, roughness = 0.15;
color specularColor = 1;
string texSpec = "";
uniform float asi_angle = 0;
varying vector dir = dPdu;
float Kr = 0.0, r_blur = 0, r_samples = 1;
color reflectionColor = 1;
string texRefl = "";
color opacityColor = 1;
string texTransp = "";
float envInt = 0;
string envMap = "";
float blur = 0, samples = 1;
color incadColor = 0;
string texIncad = "";
float startOcc = 0;
float maxhitdist = 100;
float bias = .01;
float num_samples = 16;
float angle = 90;
string texOcclusion = "";
float startSheen = 0;
float backscatter = 0.1, edginess = 10;
color sheen = .25;
color subsurfaceColor = 1;
string texSss = "";
color idColor = 1;
ALLAOV;)
{
float sqr(float f) { return f*f; }
normal Nf = normalize(faceforward(N, I));
vector V = -normalize(I);
vector anisoDir = dir;
if (asi_angle != 0) {
matrix rot = rotate(matrix 1, radians(asi_angle), Nf);
anisoDir = vtransform(rot, anisoDir);
}
color texspecularcolor = ( texSpec != "" ) ? texture( texSpec ) : 1;
anisoDir = normalize((anisoDir ^ Nf) ^ Nf);
illuminance(P, Nf, PI/2) {
vector Ln = normalize(L);
vector In = normalize(I);
vector H = normalize(Ln + -In);
float aniso = pow(1-sqr(H . anisoDir), 1/roughness);
Ci += Cl * specularColor * texspecularcolor * (Nf . Ln) * Ks * aniso / max(.1, (V . Nf));
specularPass += Ci;
}
vector IN;
vector uoffset, voffset;
color ev;
vector R, Rdir;
uniform float i, j;
color envColor;
IN = normalize (I);
ev = 0;
color shiny = 0;
color occlusionColor = 1;
color texturecolor = ( texDif != "" ) ? texture( texDif ) : 1;
color transparencycolor = ( texTransp != "" ) ? texture( texTransp ) : 1;
color reflectivitycolor = ( texRefl != "" ) ? texture( texRefl ) : 1;
color incandescencecolor = ( texIncad != "" ) ? texture( texIncad ) : 1;
color bakedocclusion = ( texOcclusion != "" ) ? texture( texOcclusion ) : 1;
color texsubsurfacecolor = ( texSss != "" ) ? texture( texSss ) : 1;
if (Kr > 0.001) {
Rdir = normalize (reflect (IN, Nf));
if (r_blur > 0) {
uoffset = r_blur * normalize (vector (zcomp(Rdir) - ycomp(Rdir),
xcomp(Rdir) - zcomp(Rdir),
ycomp(Rdir) - xcomp(Rdir)));
voffset = Rdir ^ uoffset;
for (i = 0; i < r_samples; i += 1) {
for (j = 0; j < r_samples; j += 1) {
R = Rdir +
((i + float random())/r_samples - 0.5) * uoffset +
((j + float random())/r_samples - 0.5) * voffset;
ev += trace (P, normalize(R));
}
}
ev *= Kr / (r_samples*r_samples);
} else {
ev = Kr * trace (P, Rdir);
}
}
if (startSheen == 1)
{
float sqr(float f) { return f*f; }
normal Nf = faceforward (normalize(N), I);
vector V = -normalize (I);
illuminance (P, Nf, PI/2) {
vector Ln = normalize ( L );
float cosine = max ( Ln.V, 0 );
shiny += Cl * sheen * pow (cosine, 1.0/roughness) * backscatter;
cosine = max ( Nf.V, 0 );
float sine = sqrt (1.0-sqr(cosine));
shiny += Cl * sheen * pow (sine, edginess) * (Ln . Nf);
}
Ci = Os * (Ka*ambient() + Kd*diffuse(Nf)) * Cs + shiny;
}
else
{
color shiny = 0;
}
if (startOcc == 1)
{
normal Nf = faceforward (normalize(N), I);
occlusionColor = 1 - occlusion (P,
vector(Nf),
num_samples,
"angle", radians(angle),
"maxdist", maxhitdist,
"bias", bias);
}
else
normal Nn = normalize(N);
uniform string raytype = "unknown";
rayinfo( "type", raytype );
if( raytype == "subsurface" )
{
Ci = Ka*ambient() + Kd*diffuse(Nn);
}
else
vector D;
if( envMap != "" )
{
Nf = faceforward(normalize(N), I);
D = reflect(I, Nf) ;
D = vtransform( "world", D);
envColor = envInt * color environment( envMap, D, "samples", samples, "blur", blur );
}
else
{
envColor = 0;
}
Oi = opacityColor * transparencycolor;
envmapPass = Oi * envColor;
sheenPass = Oi * shiny;
occlusionPass = Oi * occlusionColor * bakedocclusion;
ambientPass = Oi * Ka * ambient();
diffusePass = Oi * Kd * diffuse(Nf) * texturecolor * surfaceColor;
reflectionPass = Oi * specularColor * ev * reflectivitycolor * reflectionColor;
incandescencePass = Oi * incandescencecolor * incadColor;
subsurfacePass = Oi * subsurface(P) * texsubsurfacecolor * subsurfaceColor;
idPass = Oi * idColor;
Ci = ((ambientPass + diffusePass + envmapPass + specularPass + incandescencePass + sheenPass) * occlusionPass) + reflectionPass + subsurfacePass;
}
/////////////////////////////////////////////
AOVoutputs.h
#ifndef RCOUTPUTS_H
#define RCOUTPUTS_H
#define MATTEOUT output varying color ambientPass = 0;\
output varying color diffusePass = 0
#define SUBSSOUT output varying color Csss = 0;\
output varying color Cspec = 0
#define TRANS output varying color Ctrans = 0;\
output varying color Cdif = 0;\
output varying color Cspec = 0
#define PLASTICOUT output varying color ambientPass = 0;\
output varying color diffusePass = 0;\
output varying color specularPass = 0;\
output varying color idPass = 0
#define SHINYOUT output varying color ambientPass = 0;\
output varying color diffusePass = 0;\
output varying color specularPass = 0;\
output varying color reflectionPass = 0;\
output varying color idPass = 0
#define ANISOTROPIC output varying color ambientPass = 0;\
output varying color diffusePass = 0;\
output varying color specularPass = 0;\
output varying color reflectionPass = 0;\
output varying color idPass = 0
#define ALLAOV output varying color ambientPass = 0;\
output varying color diffusePass = 0;\
output varying color specularPass = 0;\
output varying color reflectionPass = 0;\
output varying color envmapPass = 0;\
output varying color incandescencePass = 0;\
output varying color occlusionPass = 0;\
output varying color sheenPass = 0;\
output varying color subsurfacePass = 0;\
output varying color idPass = 0
#endif
nice blog!
I have create this shader for my work, for silk, velvet and aniso -
metal....(based on some shader of Renderman Sigg. couse)
it is not like a Bertrand's best shader, but have a some tex multiply
option......
and works with polygons.
Test with low raytrace:
give a look.
ciao
Alessandro Dalla Fontana
http://www.alessandrodallafontana.com/






--- put arrows on each side of the AOVoutputs.h bit below. blog wont show em!
#include AOVoutputs.h
surface AOVanisotropic( float Ka = .25, Kd = .75;
color surfaceColor = 1;
string texDif = "";
float Ks = .5, roughness = 0.15;
color specularColor = 1;
string texSpec = "";
uniform float asi_angle = 0;
varying vector dir = dPdu;
float Kr = 0.0, r_blur = 0, r_samples = 1;
color reflectionColor = 1;
string texRefl = "";
color opacityColor = 1;
string texTransp = "";
float envInt = 0;
string envMap = "";
float blur = 0, samples = 1;
color incadColor = 0;
string texIncad = "";
float startOcc = 0;
float maxhitdist = 100;
float bias = .01;
float num_samples = 16;
float angle = 90;
string texOcclusion = "";
float startSheen = 0;
float backscatter = 0.1, edginess = 10;
color sheen = .25;
color subsurfaceColor = 1;
string texSss = "";
color idColor = 1;
ALLAOV;)
{
float sqr(float f) { return f*f; }
normal Nf = normalize(faceforward(N, I));
vector V = -normalize(I);
vector anisoDir = dir;
if (asi_angle != 0) {
matrix rot = rotate(matrix 1, radians(asi_angle), Nf);
anisoDir = vtransform(rot, anisoDir);
}
color texspecularcolor = ( texSpec != "" ) ? texture( texSpec ) : 1;
anisoDir = normalize((anisoDir ^ Nf) ^ Nf);
illuminance(P, Nf, PI/2) {
vector Ln = normalize(L);
vector In = normalize(I);
vector H = normalize(Ln + -In);
float aniso = pow(1-sqr(H . anisoDir), 1/roughness);
Ci += Cl * specularColor * texspecularcolor * (Nf . Ln) * Ks * aniso / max(.1, (V . Nf));
specularPass += Ci;
}
vector IN;
vector uoffset, voffset;
color ev;
vector R, Rdir;
uniform float i, j;
color envColor;
IN = normalize (I);
ev = 0;
color shiny = 0;
color occlusionColor = 1;
color texturecolor = ( texDif != "" ) ? texture( texDif ) : 1;
color transparencycolor = ( texTransp != "" ) ? texture( texTransp ) : 1;
color reflectivitycolor = ( texRefl != "" ) ? texture( texRefl ) : 1;
color incandescencecolor = ( texIncad != "" ) ? texture( texIncad ) : 1;
color bakedocclusion = ( texOcclusion != "" ) ? texture( texOcclusion ) : 1;
color texsubsurfacecolor = ( texSss != "" ) ? texture( texSss ) : 1;
if (Kr > 0.001) {
Rdir = normalize (reflect (IN, Nf));
if (r_blur > 0) {
uoffset = r_blur * normalize (vector (zcomp(Rdir) - ycomp(Rdir),
xcomp(Rdir) - zcomp(Rdir),
ycomp(Rdir) - xcomp(Rdir)));
voffset = Rdir ^ uoffset;
for (i = 0; i < r_samples; i += 1) {
for (j = 0; j < r_samples; j += 1) {
R = Rdir +
((i + float random())/r_samples - 0.5) * uoffset +
((j + float random())/r_samples - 0.5) * voffset;
ev += trace (P, normalize(R));
}
}
ev *= Kr / (r_samples*r_samples);
} else {
ev = Kr * trace (P, Rdir);
}
}
if (startSheen == 1)
{
float sqr(float f) { return f*f; }
normal Nf = faceforward (normalize(N), I);
vector V = -normalize (I);
illuminance (P, Nf, PI/2) {
vector Ln = normalize ( L );
float cosine = max ( Ln.V, 0 );
shiny += Cl * sheen * pow (cosine, 1.0/roughness) * backscatter;
cosine = max ( Nf.V, 0 );
float sine = sqrt (1.0-sqr(cosine));
shiny += Cl * sheen * pow (sine, edginess) * (Ln . Nf);
}
Ci = Os * (Ka*ambient() + Kd*diffuse(Nf)) * Cs + shiny;
}
else
{
color shiny = 0;
}
if (startOcc == 1)
{
normal Nf = faceforward (normalize(N), I);
occlusionColor = 1 - occlusion (P,
vector(Nf),
num_samples,
"angle", radians(angle),
"maxdist", maxhitdist,
"bias", bias);
}
else
normal Nn = normalize(N);
uniform string raytype = "unknown";
rayinfo( "type", raytype );
if( raytype == "subsurface" )
{
Ci = Ka*ambient() + Kd*diffuse(Nn);
}
else
vector D;
if( envMap != "" )
{
Nf = faceforward(normalize(N), I);
D = reflect(I, Nf) ;
D = vtransform( "world", D);
envColor = envInt * color environment( envMap, D, "samples", samples, "blur", blur );
}
else
{
envColor = 0;
}
Oi = opacityColor * transparencycolor;
envmapPass = Oi * envColor;
sheenPass = Oi * shiny;
occlusionPass = Oi * occlusionColor * bakedocclusion;
ambientPass = Oi * Ka * ambient();
diffusePass = Oi * Kd * diffuse(Nf) * texturecolor * surfaceColor;
reflectionPass = Oi * specularColor * ev * reflectivitycolor * reflectionColor;
incandescencePass = Oi * incandescencecolor * incadColor;
subsurfacePass = Oi * subsurface(P) * texsubsurfacecolor * subsurfaceColor;
idPass = Oi * idColor;
Ci = ((ambientPass + diffusePass + envmapPass + specularPass + incandescencePass + sheenPass) * occlusionPass) + reflectionPass + subsurfacePass;
}
/////////////////////////////////////////////
AOVoutputs.h
#ifndef RCOUTPUTS_H
#define RCOUTPUTS_H
#define MATTEOUT output varying color ambientPass = 0;\
output varying color diffusePass = 0
#define SUBSSOUT output varying color Csss = 0;\
output varying color Cspec = 0
#define TRANS output varying color Ctrans = 0;\
output varying color Cdif = 0;\
output varying color Cspec = 0
#define PLASTICOUT output varying color ambientPass = 0;\
output varying color diffusePass = 0;\
output varying color specularPass = 0;\
output varying color idPass = 0
#define SHINYOUT output varying color ambientPass = 0;\
output varying color diffusePass = 0;\
output varying color specularPass = 0;\
output varying color reflectionPass = 0;\
output varying color idPass = 0
#define ANISOTROPIC output varying color ambientPass = 0;\
output varying color diffusePass = 0;\
output varying color specularPass = 0;\
output varying color reflectionPass = 0;\
output varying color idPass = 0
#define ALLAOV output varying color ambientPass = 0;\
output varying color diffusePass = 0;\
output varying color specularPass = 0;\
output varying color reflectionPass = 0;\
output varying color envmapPass = 0;\
output varying color incandescencePass = 0;\
output varying color occlusionPass = 0;\
output varying color sheenPass = 0;\
output varying color subsurfacePass = 0;\
output varying color idPass = 0
#endif
Saturday, 19 May 2007
CONTENT WANTED
Hey you! Yes you, become a Legend and send in some content. Using 3Delight? then share the wealth e.g tips, tricks, workflows or just some of your work. Send to the email rendermanuser@yahoo.co.uk.
Subscribe to:
Posts (Atom)


