ShUtil::ShKernelSurface Class Reference

List of all members.

Static Public Member Functions

template<typename T>
static ShProgram diffuse ()
 Diffuse fragment program IN(0) T kd - diffuse coefficient (kd) could be ShColor?f IN(1) T irrad - irradiance from the light source.
template<typename T>
static ShProgram specular ()
 Specular fragment program IN(0) T ks - specular coefficient (ks) could be ShColor?f IN(1) ShAttrib1f specExp - specular exponent IN(1) T irrad - irradiance from the light source.
template<typename T>
static ShProgram phong ()
 Phong fragment program IN(0) T kd - diffuse coefficient (kd) could be ShColor?f IN(1) T ks - specular coefficient (ks) could be ShColor?f IN(2) ShAttrib1f specExp - specular exponent IN(1) T irrad - irradiance from the light source.
template<typename T>
static ShProgram gooch ()
 Gooch illustrative shading IN(0) T kd - diffuse coefficient (kd) could be ShColor?f IN(1) T cool - cool multiplier (when light | normal == -1) IN(2) T warm - warm multiplier (when light | normal == 1).
template<typename T>
static ShProgram null ()
 null surface IN(0) T irrad IN(1) ShPosition4f posh

Detailed Description

Definition at line 40 of file ShKernelSurface.hpp.


Member Function Documentation

template<typename T>
ShProgram ShUtil::ShKernelSurface::diffuse  )  [static]
 

Diffuse fragment program IN(0) T kd - diffuse coefficient (kd) could be ShColor?f IN(1) T irrad - irradiance from the light source.

IN(1) ShNormal3f normal - normal (xCS) IN(2) ShVector3f lightVec - light vector (xCS) IN(3) ShPosition4f posh - positino (HDCS)

OUT(0) T result - output result

xCS is usually either VCS or tangent space

Definition at line 42 of file ShKernelSurfaceImpl.hpp.

References SH::dot(), SH::normalize(), SH::pos(), SH_BEGIN_FRAGMENT_PROGRAM, SH_DECL, and SH_END.

template<typename T>
ShProgram ShUtil::ShKernelSurface::gooch  )  [static]
 

Gooch illustrative shading IN(0) T kd - diffuse coefficient (kd) could be ShColor?f IN(1) T cool - cool multiplier (when light | normal == -1) IN(2) T warm - warm multiplier (when light | normal == 1).

IN(1) T irrad - irradiance from the light source IN(3) ShNormal3f normal - normal (xCS) IN(5) ShVector3f lightVec - light vector (xCS) IN(6) ShPosition4f posh - position (HDCS)

OUT(0) T result - output colour

Definition at line 106 of file ShKernelSurfaceImpl.hpp.

References SH::lerp(), SH::mad(), SH::normalize(), SH_BEGIN_PROGRAM, SH_DECL, and SH_END.

template<typename T>
ShProgram ShUtil::ShKernelSurface::null  )  [static]
 

null surface IN(0) T irrad IN(1) ShPosition4f posh

OUT(0) T result = irrad

Definition at line 127 of file ShKernelSurfaceImpl.hpp.

References SH_BEGIN_PROGRAM, SH_DECL, and SH_END.

template<typename T>
ShProgram ShUtil::ShKernelSurface::phong  )  [static]
 

Phong fragment program IN(0) T kd - diffuse coefficient (kd) could be ShColor?f IN(1) T ks - specular coefficient (ks) could be ShColor?f IN(2) ShAttrib1f specExp - specular exponent IN(1) T irrad - irradiance from the light source.

IN(3) ShNormal3f normal - normal (xCS) IN(4) ShVector3f halfVec - half vector (xCS) IN(5) ShVector3f lightVec - light vector (xCS) IN(6) ShPosition4f posh - position (HDCS)

OUT(0) T result - output colour

xCS is usually either VCS or tangent space

Definition at line 82 of file ShKernelSurfaceImpl.hpp.

References SH::normalize(), SH::pos(), SH::pow(), SH_BEGIN_PROGRAM, SH_DECL, and SH_END.

template<typename T>
ShProgram ShUtil::ShKernelSurface::specular  )  [static]
 

Specular fragment program IN(0) T ks - specular coefficient (ks) could be ShColor?f IN(1) ShAttrib1f specExp - specular exponent IN(1) T irrad - irradiance from the light source.

IN(2) ShNormal3f normal - normal (xCS) IN(3) ShVector3f halfVec - half vector (xCS) IN(4) ShVector3f lightVec - light vector (xCS) IN(5) ShPosition4f posh - positino (HDCS)

OUT(0) T result - output result

xCS is usually either VCS or tangent space

Definition at line 58 of file ShKernelSurfaceImpl.hpp.

References SH::normalize(), SH::pos(), SH::pow(), SH_BEGIN_FRAGMENT_PROGRAM, SH_DECL, and SH_END.


The documentation for this class was generated from the following files:
Generated on Thu Feb 16 14:58:19 2006 for Sh by  doxygen 1.4.6