|
!!! 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.
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) |
|