|
Public Member Functions |
| void | preProcess (const Context &context) |
| void | clear () |
| rgb | radiance (Context &context) |
| void | sampleAreaLights (Vector3 &w_in, double &pdf, const HitRecord &rec, Context &context) |
| bool | sampleSingularLights (const HitRecord &rec, Context &context, Vector3 &w_in, double &distance, rgb &radiance) |
| bool | unoccluded (const Vector3 &w_in, double dist, const HitRecord &rec, Context &context) |
| double | lightPdf (const Vector3 &w_in, const HitRecord &rec, Context &context) const |
Public Attributes |
|
Surface * | surfaces |
| | The scene geometry.
|
|
LightShader * | background |
| | The background.
|
|
DynArray< Surface * > | area_lights |
| | The list of area lights.
|
|
DynArray< LightShader * > | lights |
| | The list of singular lights.
|
The Scene class holds information such as scene geometry, the area light list, the singular light list and the shader for the background illumination. Member functions are provided to interact with this information.