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