Loading...
Searching...
No Matches
HdRenderSettings Class Reference

Hydra prim backing render settings scene description. More...

#include <renderSettings.h>

+ Inheritance diagram for HdRenderSettings:

Public Types

enum  DirtyBits : HdDirtyBits {
  Clean = 0 , DirtyActive = 1 << 1 , DirtyNamespacedSettings = 1 << 2 , DirtyRenderProducts = 1 << 3 ,
  DirtyIncludedPurposes = 1 << 4 , DirtyMaterialBindingPurposes = 1 << 5 , DirtyRenderingColorSpace = 1 << 6 , DirtyShutterInterval = 1 << 7 ,
  AllDirty
}
 
using RenderProducts = std::vector< RenderProduct >
 
using NamespacedSettings = VtDictionary
 

Public Member Functions

HD_API bool IsActive () const
 
HD_API bool IsValid () const
 
HD_API const NamespacedSettingsGetNamespacedSettings () const
 
HD_API const RenderProducts & GetRenderProducts () const
 
HD_API const VtArray< TfToken > & GetIncludedPurposes () const
 
HD_API const VtArray< TfToken > & GetMaterialBindingPurposes () const
 
HD_API const TfTokenGetRenderingColorSpace () const
 
HD_API const VtValueGetShutterInterval () const
 
HD_API void Sync (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits) override final
 Synchronizes state from the delegate to this object.
 
HD_API HdDirtyBits GetInitialDirtyBitsMask () const override
 Returns the minimal set of dirty bits to place in the change tracker for use in the first sync of this prim.
 
- Public Member Functions inherited from HdBprim
HD_API HdBprim (SdfPath const &id)
 
SdfPath const & GetId () const
 Returns the identifier by which this buffer is known.
 
virtual void Sync (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits)=0
 Synchronizes state from the delegate to this object.
 
virtual HD_API void Finalize (HdRenderParam *renderParam)
 Finalizes object resources.
 
virtual HdDirtyBits GetInitialDirtyBitsMask () const =0
 Returns the minimal set of dirty bits to place in the change tracker for use in the first sync of this prim.
 

Protected Member Functions

HD_API HdRenderSettings (SdfPath const &id)
 
virtual void _Sync (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, const HdDirtyBits *dirtyBits)
 

Detailed Description

Hydra prim backing render settings scene description.

While it is a state prim (Sprim) in spirit, it is made to be a Bprim to ensure that it is sync'd prior to Sprims and Rprims to allow render setting opinions to be discovered and inform the sync process of those prims.

Note
Hydra has several "render settings" concepts as of this writing, which can be confusing. We have:
  • HdRenderSettingsMap: A dictionary of token-value pairs that is provided as an argument for render delegate construction.
  • HdRenderSettingsDescriptorList: A mechanism to discover and update render settings on the render delegate.
  • Render task params: This currently captures opinions such as the camera to use, the AOV outputs, etc.

We aim to transition away from the API and task based render settings opinions above to using render settings scene description to drive rendering in Hydra.

See also
HdRenderSettingsPrimTokens (defined in hd/tokens.h) for tokens permitted in (legacy) scene delegate queries via Get(...).
HdRenderSettingsSchema for querying locators and building container data sources when using scene indices.

Definition at line 67 of file renderSettings.h.

Member Typedef Documentation

◆ NamespacedSettings

Definition at line 141 of file renderSettings.h.

◆ RenderProducts

using RenderProducts = std::vector<RenderProduct>

Definition at line 140 of file renderSettings.h.

Member Enumeration Documentation

◆ DirtyBits

enum DirtyBits : HdDirtyBits

Definition at line 71 of file renderSettings.h.

Member Function Documentation

◆ GetInitialDirtyBitsMask()

HD_API HdDirtyBits GetInitialDirtyBitsMask ( ) const
overridevirtual

Returns the minimal set of dirty bits to place in the change tracker for use in the first sync of this prim.

Typically this would be all dirty bits.

Implements HdBprim.

◆ Sync()

HD_API void Sync ( HdSceneDelegate sceneDelegate,
HdRenderParam renderParam,
HdDirtyBits *  dirtyBits 
)
finaloverridevirtual

Synchronizes state from the delegate to this object.

Parameters
[in,out]dirtyBitsOn input specifies which state is is dirty and can be pulled from the scene delegate. On output specifies which bits are still dirty and were not cleaned by the sync.

Implements HdBprim.


The documentation for this class was generated from the following file: