Photon Scene Description Language
Geometry
- Category:
Geometry
- Type:
Geometry
- Note: blueprint only
Defining the shape of scene elements.
Spherical Geometry
- Category:
Geometry
- Type:
Sphere
- Note: concrete, based on Geometry
A perfectly round shape centering around origin.
Creation:
geometry(sphere)
Inputs | Types | Descriptions |
---|---|---|
radius | real |
Size of the sphere. |
Rectangular Geometry
- Category:
Geometry
- Type:
Rectangle
- Note: concrete, based on Geometry
A rectangular shape on xy-plane. It is centered around origin.
Creation:
geometry(rectangle)
Inputs | Types | Descriptions |
---|---|---|
width | real |
Width of the rectangle. |
height | real |
Height of the rectangle. |
texcoord-scale | real |
A scaling factor that scales the default-generated texture coordinates. |
Material
- Category:
Material
- Type:
Material
- Note: blueprint only
Defines and models the appearance of scene elements.
Surface Material
- Category:
Material
- Type:
Surface Material
- Note: blueprint only, based on Material
(no description)
Matte Opaque Material
- Category:
Material
- Type:
Matte Opaque
- Note: concrete, based on Surface Material
A material model for surfaces with matte look, such as chalk and moon.
Creation:
material(matte-opaque)
Inputs | Types | Descriptions |
---|---|---|
albedo | image |
An image or constant color that will be used for describing albedo. |
sigma-degrees | image |
Roughness in standard deviation of surface orientation (unit: degrees). |
Abraded Opaque Material
- Category:
Material
- Type:
Abraded Opaque
- Note: concrete, based on Surface Material
Able to model surfaces ranging from nearly specular to extremely rough appearances.
Creation:
material(abraded-opaque)
Inputs | Types | Descriptions |
---|---|---|
fresnel | enum |
Type of the Fresnel for the conductive interface. |
f0 | spectrum |
Surface reflectance on normal incidence. This value is expected to be given in linear-SRGB space. When this parameter is used, the underlying Fresnel model will be an approximated one (schlick) which is pretty popular in real-time graphics. |
ior-outer | real |
The index of refraction outside of this interface. |
ior-inner-n | spectrum |
The complex index of refraction (real part) inside of this interface. |
ior-inner-k | spectrum |
The complex index of refraction (imaginary part) inside of this interface. |
microsurface | enum |
Type of the microsurface of the material. |
roughness-to-alpha | enum |
Type of the mapping to transform roughness into alpha value. |
roughness | real |
Isotropic surface roughness in [0, 1], the material will appear to be smoother with smaller roughness value. |
roughness-v | real |
Similar to the roughness parameter, but is used for anisotropic surface appearances. This value controls the V component of surface roughness. If this value is provided, the roughness parameter is interpreted as the U component of surface roughness. |
Light Source
- Category:
Light Source
- Type:
Light Source
- Note: blueprint only
The source of all energy emitting entity in the scene.
Area Light Source
- Category:
Light Source
- Type:
Area
- Note: blueprint only, based on Light Source
This type of light source has a finite area. Energy is allowed toemit as long as the emitting source is within the area.
Spherical Light Source
- Category:
Light Source
- Type:
Sphere
- Note: concrete, based on Area Light Source
This type of light emits energy from a spherical shape.
Creation:
light-source(sphere)
Inputs | Types | Descriptions |
---|---|---|
radius | real |
The radius of the sphere. |
Rectangular Light Source
- Category:
Light Source
- Type:
Rectangle
- Note: concrete, based on Area Light Source
This type of light emits energy from a rectangular shape.Note that energyis only allowed to emit from one side of the rectangle, not both sides.
Creation:
light-source(rectangle)
Inputs | Types | Descriptions |
---|---|---|
width | real |
The width of the rectangle. |
height | real |
The height of the rectangle. |
Observer
- Category:
Observer
- Type:
Observer
- Note: blueprint only
A tool for observing the incoming energy of the scene.
Oriented Raster Observer
- Category:
Observer
- Type:
Oriented Raster
- Note: blueprint only, based on Observer
Observers that work by projecting incoming energy in certain ways. Projective observers face the -z axis (+y up) and reside on (0, 0, 0) by default.
Single-Lens Observer
- Category:
Observer
- Type:
Single Lens
- Note: concrete, based on Oriented Raster Observer
As its name suggests, the lens system in this observer is assumed to have just a single lens. The biggest advantage of it is that depth of field effects are possible under this model. In case of the lens radius is zero, the lens system will be reduced to a pinhole. Images captured by this observer is similar to how a normal human perceives the world but with several simplifications.
Creation:
observer(single-lens)
Inputs | Types | Descriptions |
---|---|---|
lens-radius-mm | real |
Radius of the lens in millimeters. |
focal-distance-mm | real |
The distance in millimeters that the observer is focusing on. |
sensor-width-mm | real |
Width of the sensor used by this observer in millimeters. |
sensor-offset-mm | real |
Distance between sensor and light entry. Can be overridden if FoV is provided. |
fov-degrees | real |
Field of view of this observer in degrees. If provided, it will be used to adjust sensor offset such that the desired FoV is reached. |
Sample Source
- Category:
Sample Source
- Type:
Sample Source
- Note: blueprint only
Engine component for generating sample values.
Runtime Sample Source
- Category:
Sample Source
- Type:
Runtime
- Note: blueprint only, based on Sample Source
Sample sources that generate samples during render engine execution time.
Uniform Random Sample Source
- Category:
Sample Source
- Type:
Uniform Random
- Note: concrete, based on Runtime Sample Source
Generating samples in a completely random fashion.
Creation:
sample-source(uniform-random)
(no input)
Stratified Sample Source
- Category:
Sample Source
- Type:
Stratified
- Note: concrete, based on Runtime Sample Source
Generating samples based on engine provided dimensional hints.
Creation:
sample-source(stratified)
(no input)
Halton Sample Source
- Category:
Sample Source
- Type:
Halton
- Note: concrete, based on Runtime Sample Source
Generating samples based on the Halton sequence. The samples generated are somewhat deterministic and can lead to visible patterns if the number of samples is too low.
Creation:
sample-source(halton)
(no input)
Visualizer
- Category:
Visualizer
- Type:
Visualizer
- Note: blueprint only
The main engine component for producing visual content.
Frame Visualizer
- Category:
Visualizer
- Type:
Frame
- Note: blueprint only, based on Visualizer
A visualizer that produces frames, a typical example is an image.
Path Tracing Visualizer
- Category:
Visualizer
- Type:
Path Tracing
- Note: concrete, based on Frame Visualizer
Render frames with common path tracing methods.
Creation:
visualizer(path-tracing)
Inputs | Types | Descriptions |
---|---|---|
scheduler | enum |
Scheduler for rendering, affect the order of rendered regions. |
estimator | enum |
Scheduler for rendering, affect the order of rendered regions. |
sample-filter | enum |
Sample filter for the film sampling process. |
Option
- Category:
Option
- Type:
Option
- Note: concrete
Options that control engine runtime behavior.
Creation:
option(option)
(no input)
Render Session
- Category:
Option
- Type:
Render Session
- Note: blueprint only, based on Option
Settings for how to perform a render operation.
Single Frame Render Session
- Category:
Option
- Type:
Single Frame Render Session
- Note: concrete, based on Render Session
Information regarding the rendering process of a single frame.
Creation:
option(single-frame-render-session)
Inputs | Types | Descriptions |
---|---|---|
frame-size | vector2 |
Width and height of the frame in pixels. |
visualizer | string |
Name of the visualizer resource to use. |
observer | string |
Name of the observer resource to use. |
sample-source | string |
Name of the sample source resource to use. |
top-level-accelerator | enum |
Acceleration structure used on the top level geometries. |
Actor
- Category:
Actor
- Type:
Actor
- Note: blueprint only
Represents an entity in the scene. Every entity that participates in a scene is an actor.
Physical Actor
- Category:
Actor
- Type:
Physical
- Note: blueprint only, based on Actor
An actor that is visible and can be transformed.
Operation:
translate
Moves the actor away from the original location with a specified amount.
Inputs | Types | Descriptions |
---|---|---|
amount | vector3 |
The amount to move on each axis. |
Operation:
rotate
Rotates the actor along an axis with a specified amount.
Inputs | Types | Descriptions |
---|---|---|
axis | vector3 |
The axis for rotation. |
degrees | real |
The amount of the rotation, in degrees. |
rotation | quaternion |
Specify the rotation with a quaternion directly. |
Operation:
scale
Enlarges or shrinks the actor with some specified amount.
Inputs | Types | Descriptions |
---|---|---|
amount | vector3 |
The amount to scale on each axis. |
Model Actor
- Category:
Actor
- Type:
Model
- Note: concrete, based on Physical Actor
An actor that has a certain 3-D shape in the scene.
Creation:
actor(model)
Inputs | Types | Descriptions |
---|---|---|
geometry | geometry |
A geometry that represent this actor’s shape. |
material | material |
A material that describes this actor’s surface appearance. |
motion | motion |
Movement of this actor. |
Light Actor
- Category:
Actor
- Type:
Light
- Note: concrete, based on Physical Actor
An actor that represents a light in the scene.
Creation:
actor(light)
Inputs | Types | Descriptions |
---|---|---|
source | light-source |
The source of the energy. |
Accelerator
Denotes acceleration structure types.
Entries | Descriptions |
---|---|
(empty) | (no description) |
brute-force |
(no description) |
bvh |
(no description) |
kd-tree |
(no description) |
indexed-kd-tree |
(no description) |
Estimator
Type of energy estimation algorithms.
Entries | Descriptions |
---|---|
(empty) | (no description) |
bvpt |
Backward path tracing. |
bneept |
Backward path tracing with next event estimation. |
bvptdl |
Backward path tracing, evaluate direct lighting only (single bounce) |
Sample Filter
The type of filter used during the sampling process.
Entries | Descriptions |
---|---|
(empty) | (no description) |
box |
Fairly sharp, fast to evaluate, but can have obvious aliasing around edges. |
gaussian |
Gives smooth results, slower to evaluate and can sometimes result in blurry images. |
mn |
Smooth but remains sharp around edges. |
bh |
A good compromise between smoothness and sharpness. |
Color Space
Marks color space information of input values.
Entries | Descriptions |
---|---|
(empty) | (no description) |
LSRGB |
(no description) |
SRGB |
(no description) |
SPD |
(no description) |