# ShaderTypes.h File Reference

## Classes
struct | UVSpaceInfo
struct | UVSpaceInfoRDS5
struct | ShaderTransformData
class | ShRect
struct | ShadingFlags
struct | ShadingIn
struct | TTransparencyParameters
struct | TReflectionParameters
struct | TSubsurfaceParameters
struct | ShadingOut
## Defines
#define | kShaderFamily 'shdr'
#define | kValueShdr 'sval'
#define | kColorShdr 'sclr'
#define | kColorGradientShdr 'clgr'
#define | kCurveShdr 'curv'
#define | kInstanceShdr 'sins'
#define | kTextureMapShdr 'smap'
#define | kCompositeShdr 'scmp'
#define | kAddOperatorShdr 'sadd'
#define | kSubOperatorShdr 'smin'
#define | kMulOperatorShdr 'smul'
#define | kIncOperatorShdr 'sinc'
#define | kMixShdr 'smix'
#define | kGlobalMixShdr 'sgmx'
#define | kPhongLightingModel 'phog'
#define | kShadowCatcherShdr 'shwc'
#define | kShadingDomain 'smod'
#define | kShadingDomainSphericalMapping 'ssph'
#define | kShadingDomainCylindricalMapping 'scyl'
#define | kShadingDomainBoxMapping 'sbox'
#define | kShadingDomainParametricMapping 'sprm'
#define | kLayeredShader 'slay'
#define | kRectShapeShader 'srec'
#define | kPolygonShapeShader 'spol'
#define | kOvalShapeShader 'sova'
#define | kRegionShapeShader 'sreg'
#define | kWoodShdr 'swod'
#define | kWiresShdr 'swir'
#define | kMarbleShdr 'smrb'
#define | kCellularShdr 'fcel'
#define | kEnvironmentShdr 'senv'
#define | kFractalNoiseShdr 'snoi'
#define | kReferenceShdr 'sref'
#define | kCheckerShdr 'schk'
#define | kSpotsShdr 'sspt'
#define | kGradientShdr 'grad'
#define | kPsychedelicShdr 'psyc'
#define | kJuliaShdr 'juli'
#define | kMandelbrotShdr 'mndl'
#define | kSquaringShdr 'sqSh'
#define | kRippleShdr 'RfRI'
#define | kWaveShdr 'RfWA'
#define | kFireShdr 'RfFR'
#define | kSnowShdr 'RfSN'
#define | kUVSpaceIDPmapElem 'uvid'
#define | kLayerList 'shly'
#define | kLayerSubShader 'Shad'
#define | kLayerMask 'Mask'
#define | kLayerShadingDomain 'uvid'
#define | kLayerSizeTop 'top '
#define | kLayerSizeLeft 'left'
#define | kLayerSizeBottom 'bott'
#define | kLayerSizeRight 'rght'
#define | kOperatorsSubShdr 'Sh00'
#define | kCompositeSubShdr 'Shc0'
#define | kPolyShdrNbVertices 'spnv'
#define | kPolyVertexToken 'svrt'
#define | kMaxTexture Int16ToReal(16000)
#define | kSpecularPowerCoef 4096.0f
#define | kFastInScattering 'fast'
#define | kAverageInScattering 'avrg'
#define | kSlowInScattering 'slow'
## Enumerations
enum | EShaderOutput { kNotImplemented = 0, kUsesGetValue = (1<<1), kUsesGetColor = (1<<2), kUsesGetVector = (1<<3), kUsesDoShade = (1<<4), kUsesGetBump = (1<<5), kUsesGetReflection = (1<<6), kUsesGetTransparency = (1<<7), kUseCalculateDirectLighting = (1<<8), kUseCalculateReflection = (1<<9), kUseCalculateCaustics = (1<<10), kUseCalculateIndirectLighting = (1<<11), kUseCalculateTransparency = (1<<12), kUseCalculateAlpha = (1<<13), kUseCalculateSubsurfaceScattering = (1<<14), kUsesGetShaderApprox = (1<<15), kUsesGetShaderApproxColor = (1<<16) }
enum | EChannelIndices { kColorChannel = 0, kAlphaChannel = 1, kSpecularityChannel = 2, kShininessChannel = 3, kNormalChannel = 4, kReflectionChannel = 5, kTransparencyChannel = 6, kRefractionChannel = 7, kGlowChannel = 8, kSubSurfaceChannel = 9, kTranslucencyChannel = 10, kNumChannels, kMiscChannel, kDisplacementChannel, kMaxChannels }
enum | EChannelMask { kColorChannelMask = 1<<kColorChannel, kAlphaChannelMask = 1<<kAlphaChannel, kSpecularityChannelMask = 1<<kSpecularityChannel, kShininessChannelMask = 1<<kShininessChannel, kNormalChannelMask = 1<<kNormalChannel, kReflectionChannelMask = 1<<kReflectionChannel, kTransparencyChannelMask = 1<<kTransparencyChannel, kRefractionChannelMask = 1<<kRefractionChannel, kGlowChannelMask = 1<<kGlowChannel, kSubSurfaceChannelMask = 1<<kSubSurfaceChannel, kTranslucencyChannelMask = 1<<kTranslucencyChannel, kAllChannelMask = (1<<20)-1 }
enum | EShaderCompletionMask { kNoChannel = 0, kAllChannels = 1+2+4+8+16+32+64+128+256+512+1024 }
enum | { kAllUVSpaces = -2, kMaxUVSpace = 0x7FFFFFFF }
enum | EShaderFunctionType { kUnknownFunctionType, kFullShader, kColorFunction, kGrayscaleFunction, kBumpFunction, kDisplacementShader }
## Functions
void | WrapAround (TVector2 &thePoint)

## Define Documentation

#define kAddOperatorShdr 'sadd'

#define kAverageInScattering 'avrg'

#define kCellularShdr 'fcel'

#define kCheckerShdr 'schk'

#define kColorGradientShdr 'clgr'

#define kColorShdr 'sclr'

#define kCompositeShdr 'scmp'

#define kCompositeSubShdr 'Shc0'

#define kCurveShdr 'curv'

#define kEnvironmentShdr 'senv'

#define kFastInScattering 'fast'

#define kFireShdr 'RfFR'

#define kFractalNoiseShdr 'snoi'

#define kGlobalMixShdr 'sgmx'

#define kGradientShdr 'grad'

#define kIncOperatorShdr 'sinc'

#define kInstanceShdr 'sins'

#define kJuliaShdr 'juli'

#define kLayeredShader 'slay'

#define kLayerList 'shly'

#define kLayerMask 'Mask'

#define kLayerShadingDomain 'uvid'

#define kLayerSizeBottom 'bott'

#define kLayerSizeLeft 'left'

#define kLayerSizeRight 'rght'

#define kLayerSizeTop 'top '

#define kLayerSubShader 'Shad'

#define kMandelbrotShdr 'mndl'

#define kMarbleShdr 'smrb'

#define kMaxTexture Int16ToReal(16000)

#define kMixShdr 'smix'

#define kMulOperatorShdr 'smul'

#define kOperatorsSubShdr 'Sh00'

#define kOvalShapeShader 'sova'

#define kPhongLightingModel 'phog'

#define kPolygonShapeShader 'spol'

#define kPolyShdrNbVertices 'spnv'

#define kPolyVertexToken 'svrt'

#define kPsychedelicShdr 'psyc'

#define kRectShapeShader 'srec'

#define kReferenceShdr 'sref'

#define kRegionShapeShader 'sreg'

#define kRippleShdr 'RfRI'

#define kShaderFamily 'shdr'

#define kShadingDomain 'smod'

#define kShadingDomainBoxMapping 'sbox'

#define kShadingDomainCylindricalMapping 'scyl'

#define kShadingDomainParametricMapping 'sprm'

#define kShadingDomainSphericalMapping 'ssph'

#define kShadowCatcherShdr 'shwc'

#define kSlowInScattering 'slow'

#define kSnowShdr 'RfSN'

#define kSpecularPowerCoef 4096.0f

#define kSpotsShdr 'sspt'

#define kSquaringShdr 'sqSh'

#define kSubOperatorShdr 'smin'

#define kTextureMapShdr 'smap'

#define kUVSpaceIDPmapElem 'uvid'

#define kValueShdr 'sval'

#define kWaveShdr 'RfWA'

#define kWiresShdr 'swir'

#define kWoodShdr 'swod'

## Enumeration Type Documentation

anonymous enum

Enumerator:

  kAllUVSpaces |
  kMaxUVSpace |

enum EChannelIndices

Enumerator:

  kColorChannel |
  kAlphaChannel |
  kSpecularityChannel |
  kShininessChannel |
  kNormalChannel |
  kReflectionChannel |
  kTransparencyChannel |
  kRefractionChannel |
  kGlowChannel |
  kSubSurfaceChannel |
  kTranslucencyChannel |
  kNumChannels |
  kMiscChannel |
  kDisplacementChannel |
  kMaxChannels |

enum EChannelMask

Enumerator:

  kColorChannelMask |
  kAlphaChannelMask |
  kSpecularityChannelMask |
  kShininessChannelMask |
  kNormalChannelMask |
  kReflectionChannelMask |
  kTransparencyChannelMask |
  kRefractionChannelMask |
  kGlowChannelMask |
  kSubSurfaceChannelMask |
  kTranslucencyChannelMask |
  kAllChannelMask |

enum EShaderCompletionMask

Enumerator:

  kNoChannel |
  kAllChannels |

enum EShaderFunctionType

Enumerator:

  kUnknownFunctionType |
  kFullShader |
  kColorFunction |
  kGrayscaleFunction |
  kBumpFunction |
  kDisplacementShader |

enum EShaderOutput

Constants that define the methods that are implemented by a given shader.

Enumerator:

  kNotImplemented |
  kUsesGetValue |
  kUsesGetColor |
  kUsesGetVector |
  kUsesDoShade |
  kUsesGetBump |
  kUsesGetReflection |
  kUsesGetTransparency |
  kUseCalculateDirectLighting |
  kUseCalculateReflection |
  kUseCalculateCaustics |
  kUseCalculateIndirectLighting |
  kUseCalculateTransparency |
  kUseCalculateAlpha |
  kUseCalculateSubsurfaceScattering |
  kUsesGetShaderApprox |
  kUsesGetShaderApproxColor |

## Function Documentation

void WrapAround | ( | TVector2 & | thePoint | ) | `[inline]`