Documentation/Hardcoded shaders

From PixieWiki

Jump to: navigation, search


!!! 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)
Personal tools