!!! Temporarily Disabled for further optimizations !!!

### Hardcoded shaders

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 can not be helped, I will add shaders that go around them.

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]

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" "..."

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

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)