Nuke binary plugins  14.0.8
slr::SlrLightInfo Class Reference

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)
 
SlrLightMaterialmaterial
 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.
 
SlrScenedepthmap_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 &)
 

Detailed Description

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.
www.foundry.com