Public Member Functions | |
SlrLightShader * | light () const |
Convenience to get light shader from material. Warning, does no null testing! | |
const fdk::Vec3f & | x () const |
const fdk::Vec3f & | y () const |
const fdk::Vec3f & | z () const |
const fdk::Vec3d & | p () const |
Public Attributes | |
uint32_t | light_index |
Index of the light prim in the SlrLightInfoList in SlrRenderContext. | |
usg::StageRef | stage |
Stage containing Prim. | |
const usg::Path * | prim_path |
Prim path in Stage (stored in Render prim_path_cache) | |
SlrLightMaterial * | material |
Light material (stored in SlrRenderContext) | |
bool | cast_shadows |
Does the light cast a shadow? | |
bool | enabled |
Light is 'on' for this scene. | |
fdk::TimeValue | time |
Time of this prim reference. | |
fdk::Vec3d | ltPW |
Light origin in world-space. | |
fdk::Vec3f | ltX |
Light X vector in world-space, normalized. | |
fdk::Vec3f | ltY |
Light Y vector in world-space, normalized. | |
fdk::Vec3f | ltZ |
Light Z vector in world-space, normalized. | |
ShadowmapRender * | depthmap |
Light's depth renderer, if it has one. | |
SlrScene * | depthmap_scene |
To get at the light's depthmap transforms. | |
fdk::Mat4dList | depthmap_transforms |
Double-precision scene-transform matrices configured for depthmap render. | |
Friends | |
std::ostream & | operator<< (std::ostream &, const SlrLightInfo &) |
Replacement for legacy LightContext structure used in the legacy DD::Image::Render based architecture like ScanlineRender, DepthMapRender, etc.
This structure represents a single usg::Prim at a single time sample. The Prim's attributes are not copied to time-sampled local arrays, that is left to the render light shader adapters at render time. However the Prim's concatenated scene transform is time sampled and stored in the 'depthmap_transforms' - note that all matrices are now double-precision.
Contains an Axis object which contains transformed & normalized Eigen vectors for fast vector comparison in shaders.
The 'depthmap_transforms' camera and projection matrices are used for shadowmap projections.
©2024 The Foundry Visionmongers, Ltd. All Rights Reserved. |