23 #ifndef PXR_IMAGING_HD_ST_RENDER_DELEGATE_H 24 #define PXR_IMAGING_HD_ST_RENDER_DELEGATE_H 27 #include "pxr/imaging/hdSt/api.h" 28 #include "pxr/imaging/hd/renderDelegate.h" 33 PXR_NAMESPACE_OPEN_SCOPE
37 using HdStDrawItemsCacheUniquePtr =
38 std::unique_ptr<class HdSt_DrawItemsCache>;
39 using HdStDrawItemsCachePtr = HdSt_DrawItemsCache *;
41 using HdStResourceRegistrySharedPtr =
42 std::shared_ptr<class HdStResourceRegistry>;
66 virtual void SetDrivers(HdDriverVector
const& drivers)
override;
72 virtual const TfTokenVector &GetSupportedRprimTypes()
const override;
74 virtual const TfTokenVector &GetSupportedSprimTypes()
const override;
76 virtual const TfTokenVector &GetSupportedBprimTypes()
const override;
78 virtual HdResourceRegistrySharedPtr GetResourceRegistry()
const override;
81 virtual HdRenderPassSharedPtr CreateRenderPass(
HdRenderIndex *index,
84 virtual HdRenderPassStateSharedPtr CreateRenderPassState()
const override;
91 virtual void DestroyInstancer(
HdInstancer *instancer)
override;
95 SdfPath const& rprimId)
override;
97 virtual void DestroyRprim(
HdRprim *rPrim)
override;
101 SdfPath const& sprimId)
override;
103 virtual HdSprim *CreateFallbackSprim(
TfToken const& typeId)
override;
105 virtual void DestroySprim(
HdSprim *sPrim)
override;
109 SdfPath const& bprimId)
override;
111 virtual HdBprim *CreateFallbackBprim(
TfToken const& typeId)
override;
113 virtual void DestroyBprim(
HdBprim *bPrim)
override;
119 virtual TfTokenVector GetMaterialRenderContexts()
const override;
125 virtual bool IsPrimvarFilteringNeeded()
const override;
128 virtual HdRenderSettingDescriptorList
129 GetRenderSettingDescriptors()
const override;
136 GetDefaultAovDescriptor(
TfToken const& name)
const override;
145 static bool IsSupported();
150 HdStDrawItemsCachePtr GetDrawItemsCache()
const;
157 void _ApplyTextureSettings();
158 HdSprim *_CreateFallbackMaterialPrim();
167 HdStResourceRegistrySharedPtr _resourceRegistry;
169 HdRenderSettingDescriptorList _settingDescriptors;
173 std::unique_ptr<HdStRenderParam> _renderParam;
175 HdStDrawItemsCacheUniquePtr _drawItemsCache;
179 PXR_NAMESPACE_CLOSE_SCOPE
181 #endif // PXR_IMAGING_HD_ST_RENDER_DELEGATE_H The Hydra render index is a flattened representation of the client scene graph, which may be composed...
Tracks changes from the HdSceneDelegate, providing invalidation cues to the render engine.
This class exists to facilitate point cloud style instancing.
A map with string keys and VtValue values.
The HdRenderParam is an opaque (to core Hydra) handle, to an object that is obtained from the render ...
Token for efficient comparison, assignment, and hashing of known strings.
The render engine state for a given rprim from the scene graph.
The render delegate can create an object of type HdRenderParam, to pass to each prim during Sync().
Adapter class providing data exchange with the client scene graph.
std::vector< TfToken > TfTokenVector
Convenience types.
A named, semantic collection of objects.
A path value used to locate objects in layers or scenegraphs.
Sprim (state prim) is a base class of managing state for non-drawable scene entity (e....
Hydra Graphics Interface.
Bprim (buffer prim) is a base class of managing a blob of data that is used to communicate between th...
A bundle of state describing an AOV ("Arbitrary Output Variable") display channel.