Documentation/Hardcoded shaders
From PixieWiki
!!! Temporarily disabled for further optimizations !!!
Some Pixie shaders are hardcoded in the source distribution. Such shaders often execute faster or have access to capabilities that other shaders can not. Currently, the set of such shaders is quite small. As I identify performance bottlenecks in the shading pipeline can not be helped, I will add shaders that go around them.
[edit] quadlight
This is a light source shader that behaves like a rectangular area light source. The following two definitions should be identical:
AreaLightSource "arealight" 1 Patch "bilinear" "P" [65 -52.5 0 65 52.5 0 -65 -52.5 0 -65 52.5 0]
and
LightSource "quadlight" 1 "P" [65 -52.5 0 65 52.5 0 -65 -52.5 0 -65 52.5 0]
They both define a rectangular area light source. Quadlight accepts the following parameters:
lightcolor | color | (1,1,1) |
intensity | float | 1 |
numSamples | float | Copied from numarealightsamples attribute |
P | point[4] | (-1,-1,0),(1,-1,0),(-1,1,0),(1,1,0) |
Notice that the rectangle that defines the arealight is given in the P argument. This light source also generates raytraced shadows for objects marked with
Attribute "visibility" "transmission" "..."
[edit] spherelight
This is a light source shader that behaves like a spherical light source. The following two definitions should be identical.
AreaLightSource "arealight" 1 Sphere 1 -1 1 360
and
LightSource "spherelight" 1 "radius" 1
They both define a spherical area light source. Spherelight accepts the following parameters.
from | point | (0,0,0) |
radius | float | 1 |
numSamples | float | Copied from numarealightsamples attribute |
intensity | float | 1 |
lightcolor | color | (1,1,1) |