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
38 using HdStResourceRegistrySharedPtr =
39 std::shared_ptr<class HdStResourceRegistry>;
53 HdStRenderDelegate(HdRenderSettingsMap
const& settingsMap);
56 virtual ~HdStRenderDelegate();
63 virtual void SetDrivers(HdDriverVector
const& drivers)
override;
69 virtual const TfTokenVector &GetSupportedRprimTypes()
const override;
71 virtual const TfTokenVector &GetSupportedSprimTypes()
const override;
73 virtual const TfTokenVector &GetSupportedBprimTypes()
const override;
75 virtual HdResourceRegistrySharedPtr GetResourceRegistry()
const override;
78 virtual HdRenderPassSharedPtr CreateRenderPass(
HdRenderIndex *index,
81 virtual HdRenderPassStateSharedPtr CreateRenderPassState()
const override;
88 virtual void DestroyInstancer(
HdInstancer *instancer)
override;
92 SdfPath const& rprimId)
override;
94 virtual void DestroyRprim(
HdRprim *rPrim)
override;
98 SdfPath const& sprimId)
override;
100 virtual HdSprim *CreateFallbackSprim(
TfToken const& typeId)
override;
102 virtual void DestroySprim(
HdSprim *sPrim)
override;
106 SdfPath const& bprimId)
override;
108 virtual HdBprim *CreateFallbackBprim(
TfToken const& typeId)
override;
110 virtual void DestroyBprim(
HdBprim *bPrim)
override;
116 virtual TfTokenVector GetMaterialRenderContexts()
const override;
122 virtual bool IsPrimvarFilteringNeeded()
const override;
125 virtual HdRenderSettingDescriptorList
126 GetRenderSettingDescriptors()
const override;
133 GetDefaultAovDescriptor(
TfToken const& name)
const override;
142 static bool IsSupported();
149 void _ApplyTextureSettings();
150 HdSprim *_CreateFallbackMaterialPrim();
152 HdStRenderDelegate(
const HdStRenderDelegate &) =
delete;
153 HdStRenderDelegate &operator =(
const HdStRenderDelegate &) =
delete;
159 HdStResourceRegistrySharedPtr _resourceRegistry;
161 HdRenderSettingDescriptorList _settingDescriptors;
165 std::unique_ptr<HdStRenderParam> _renderParam;
169 PXR_NAMESPACE_CLOSE_SCOPE
171 #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.