HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdRenderSettings Class Reference

#include <renderSettings.h>

+ Inheritance diagram for HdRenderSettings:

Classes

struct  RenderProduct
 

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, AllDirty
}
 
using RenderProducts = std::vector< RenderProduct >
 
using NamespacedSettings = VtDictionary
 

Public Member Functions

HD_API ~HdRenderSettings () override
 
HD_API bool IsActive () const
 
HD_API const NamespacedSettingsGetNamespacedSettings () const
 
HD_API unsigned int GetSettingsVersion () const
 
HD_API const RenderProductsGetRenderProducts () const
 
HD_API const VtArray< TfToken > & GetIncludedPurposes () const
 
HD_API const VtArray< TfToken > & GetMaterialBindingPurposes () const
 
HD_API const TfTokenGetRenderingColorSpace () const
 
HD_API void Sync (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits) overridefinal
 
HD_API HdDirtyBits GetInitialDirtyBitsMask () const override
 
- Public Member Functions inherited from HdBprim
HD_API HdBprim (SdfPath const &id)
 
virtual HD_API ~HdBprim ()
 
SdfPath constGetId () const
 
virtual HD_API void Finalize (HdRenderParam *renderParam)
 

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 66 of file renderSettings.h.

Member Typedef Documentation

Definition at line 136 of file renderSettings.h.

Member Enumeration Documentation

Enumerator
Clean 
DirtyActive 
DirtyNamespacedSettings 
DirtyRenderProducts 
DirtyIncludedPurposes 
DirtyMaterialBindingPurposes 
DirtyRenderingColorSpace 
AllDirty 

Definition at line 70 of file renderSettings.h.

Constructor & Destructor Documentation

HD_API HdRenderSettings::~HdRenderSettings ( )
override
HD_API HdRenderSettings::HdRenderSettings ( SdfPath const id)
protected

Member Function Documentation

virtual void HdRenderSettings::_Sync ( HdSceneDelegate sceneDelegate,
HdRenderParam renderParam,
const HdDirtyBits dirtyBits 
)
protectedvirtual
HD_API const VtArray<TfToken>& HdRenderSettings::GetIncludedPurposes ( ) const
HD_API HdDirtyBits HdRenderSettings::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.

HD_API const VtArray<TfToken>& HdRenderSettings::GetMaterialBindingPurposes ( ) const
HD_API const NamespacedSettings& HdRenderSettings::GetNamespacedSettings ( ) const
HD_API const TfToken& HdRenderSettings::GetRenderingColorSpace ( ) const
HD_API const RenderProducts& HdRenderSettings::GetRenderProducts ( ) const
HD_API unsigned int HdRenderSettings::GetSettingsVersion ( ) const
HD_API bool HdRenderSettings::IsActive ( ) const
HD_API void HdRenderSettings::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: