6#ifndef PXR_IMAGING_HD_ST_RENDER_DELEGATE_H
7#define PXR_IMAGING_HD_ST_RENDER_DELEGATE_H
10#include "pxr/imaging/hdSt/api.h"
11#include "pxr/imaging/hd/renderDelegate.h"
16PXR_NAMESPACE_OPEN_SCOPE
20using HdStDrawItemsCacheUniquePtr =
21 std::unique_ptr<class HdSt_DrawItemsCache>;
22using HdStDrawItemsCachePtr = HdSt_DrawItemsCache *;
24using HdStResourceRegistrySharedPtr =
25 std::shared_ptr<class HdStResourceRegistry>;
27struct HdRenderDelegateInfo;
52 void SetDrivers(HdDriverVector
const& drivers)
override;
64 HdResourceRegistrySharedPtr GetResourceRegistry()
const override;
70 HdRenderPassStateSharedPtr CreateRenderPassState()
const override;
77 void DestroyInstancer(
HdInstancer *instancer)
override;
81 SdfPath const& rprimId)
override;
83 void DestroyRprim(
HdRprim *rPrim)
override;
87 SdfPath const& sprimId)
override;
91 void DestroySprim(
HdSprim *sPrim)
override;
95 SdfPath const& bprimId)
override;
99 void DestroyBprim(
HdBprim *bPrim)
override;
111 bool IsPrimvarFilteringNeeded()
const override;
114 HdRenderSettingDescriptorList
115 GetRenderSettingDescriptors()
const override;
122 GetDefaultAovDescriptor(
TfToken const& name)
const override;
138 static bool IsSupported(
140 std::string * reasonWhyNot =
nullptr);
145 HdStDrawItemsCachePtr GetDrawItemsCache()
const;
153 const HdRenderDelegateInfo &GetRenderDelegateInfo();
156 static bool IsEnabledNativeSphereRenderingSupport();
159 void _ApplyTextureSettings();
160 HdSprim *_CreateFallbackMaterialPrim();
169 HdStResourceRegistrySharedPtr _resourceRegistry;
171 HdRenderSettingDescriptorList _settingDescriptors;
175 std::unique_ptr<HdStRenderParam> _renderParam;
177 HdStDrawItemsCacheUniquePtr _drawItemsCache;
181PXR_NAMESPACE_CLOSE_SCOPE
Bprim (buffer prim) is a base class of managing a blob of data that is used to communicate between th...
Tracks changes from the HdSceneDelegate, providing invalidation cues to the render engine.
This class exists to facilitate point cloud style instancing.
The render index is part of the Hydra 1.0 API and is only used for emulation purposes so that HdScene...
The HdRenderParam is an opaque (to core Hydra) handle, to an object that is obtained from the render ...
Arguments to HdRendererPlugin::IsSupported and CreateRenderer.
A named, semantic collection of objects.
The render engine state for a given rprim from the scene graph.
Adapter class providing data exchange with the client scene graph.
Sprim (state prim) is a base class of managing state for non-drawable scene entity (e....
HDST_API bool RequiresStormTasks() const override
Flag for the HdxTaskControllerSceneIndex.
The render delegate can create an object of type HdRenderParam, to pass to each prim during Sync().
Hydra Graphics Interface.
A path value used to locate objects in layers or scenegraphs.
Token for efficient comparison, assignment, and hashing of known strings.
A map with string keys and VtValue values.
A bundle of state describing an AOV ("Arbitrary Output Variable") display channel.
std::vector< TfToken > TfTokenVector
Convenience types.