10#include <pxr/imaging/hd/renderDelegate.h>
11#include <pxr/imaging/hgi/hgi.h>
16#define HD_CYCLES_RENDER_SETTINGS_TOKENS \
17 (stageMetersPerUnit) \
18 ((device, "cycles:device")) \
19 ((threads, "cycles:threads")) \
20 ((timeLimit, "cycles:time_limit")) \
21 ((samples, "cycles:samples")) \
22 ((sampleOffset, "cycles:sample_offset"))
30 CCL_NS::Session *session_ =
nullptr,
31 const bool keep_nodes =
false);
34 void SetDrivers(
const PXR_NS::HdDriverVector &drivers)
override;
55 bool Pause()
override;
59 PXR_NS::HdRenderIndex *index,
const PXR_NS::HdRprimCollection &collection)
override;
62 const PXR_NS::SdfPath &
id
65 const PXR_NS::SdfPath &instancerId
70 PXR_NS::HdRprim *
CreateRprim(
const PXR_NS::TfToken &typeId,
71 const PXR_NS::SdfPath &rprimId
74 const PXR_NS::SdfPath &instancerId
79 PXR_NS::HdSprim *
CreateSprim(
const PXR_NS::TfToken &typeId,
80 const PXR_NS::SdfPath &sprimId)
override;
84 PXR_NS::HdBprim *
CreateBprim(
const PXR_NS::TfToken &typeId,
85 const PXR_NS::SdfPath &bprimId)
override;
93#if HD_API_VERSION < 41
96 PXR_NS::TfTokenVector GetMaterialRenderContexts()
const override;
103 void SetRenderSetting(
const PXR_NS::TfToken &key,
const PXR_NS::VtValue &value)
override;
105 PXR_NS::VtValue
GetRenderSetting(
const PXR_NS::TfToken &key)
const override;
108 PXR_NS::Hgi *_hgi =
nullptr;
109 std::unique_ptr<HdCyclesSession> _renderParam;
bool IsPauseSupported() const override
PXR_NS::HdBprim * CreateFallbackBprim(const PXR_NS::TfToken &typeId) override
~HdCyclesDelegate() override
void SetRenderSetting(const PXR_NS::TfToken &key, const PXR_NS::VtValue &value) override
void DestroyRprim(PXR_NS::HdRprim *rPrim) override
const PXR_NS::TfTokenVector & GetSupportedSprimTypes() const override
PXR_NS::HdRenderParam * GetRenderParam() const override
PXR_NS::HdRenderPassSharedPtr CreateRenderPass(PXR_NS::HdRenderIndex *index, const PXR_NS::HdRprimCollection &collection) override
PXR_NS::HdSprim * CreateFallbackSprim(const PXR_NS::TfToken &typeId) override
PXR_NS::TfToken GetMaterialNetworkSelector() const override
PXR_NS::HdResourceRegistrySharedPtr GetResourceRegistry() const override
PXR_NS::HdInstancer * CreateInstancer(PXR_NS::HdSceneDelegate *delegate, const PXR_NS::SdfPath &id, const PXR_NS::SdfPath &instancerId) override
void DestroySprim(PXR_NS::HdSprim *sPrim) override
void CommitResources(PXR_NS::HdChangeTracker *tracker) override
const PXR_NS::TfTokenVector & GetSupportedBprimTypes() const override
const PXR_NS::TfTokenVector & GetSupportedRprimTypes() const override
HdCyclesDelegate(const PXR_NS::HdRenderSettingsMap &settingsMap, CCL_NS::Session *session_=nullptr, const bool keep_nodes=false)
PXR_NS::HdRprim * CreateRprim(const PXR_NS::TfToken &typeId, const PXR_NS::SdfPath &rprimId, const PXR_NS::SdfPath &instancerId) override
PXR_NS::HdAovDescriptor GetDefaultAovDescriptor(const PXR_NS::TfToken &name) const override
PXR_NS::HdSprim * CreateSprim(const PXR_NS::TfToken &typeId, const PXR_NS::SdfPath &sprimId) override
PXR_NS::VtValue GetRenderSetting(const PXR_NS::TfToken &key) const override
void SetDrivers(const PXR_NS::HdDriverVector &drivers) override
bool IsDisplaySupported() const
PXR_NS::HdRenderSettingDescriptorList GetRenderSettingDescriptors() const override
PXR_NS::TfToken GetMaterialBindingPurpose() const override
void DestroyBprim(PXR_NS::HdBprim *bPrim) override
PXR_NS::VtDictionary GetRenderStats() const override
void DestroyInstancer(PXR_NS::HdInstancer *instancer) override
PXR_NS::Hgi * GetHgi() const
PXR_NS::HdBprim * CreateBprim(const PXR_NS::TfToken &typeId, const PXR_NS::SdfPath &bprimId) override
#define HDCYCLES_NAMESPACE_CLOSE_SCOPE
#define HD_CYCLES_RENDER_SETTINGS_TOKENS
TF_DECLARE_PUBLIC_TOKENS(HdCyclesRenderSettingsTokens, HD_CYCLES_RENDER_SETTINGS_TOKENS)