Loading...
Searching...
No Matches
legacyRenderControlInterface.h
1//
2// Copyright 2025 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_IMAGING_HD_LEGACY_RENDER_CONTROL_INTERFACE_H
8#define PXR_IMAGING_HD_LEGACY_RENDER_CONTROL_INTERFACE_H
9
10#include "pxr/pxr.h"
11
12#include "pxr/imaging/hd/api.h"
13
14#include "pxr/imaging/hd/aov.h"
15#include "pxr/imaging/hd/command.h"
16#include "pxr/usd/sdf/path.h"
17
18PXR_NAMESPACE_OPEN_SCOPE
19
20struct HdRenderDelegateInfo;
21class HdRenderBuffer;
22using HdRenderSettingDescriptorList =
23 std::vector<struct HdRenderSettingDescriptor>;
24using HdCommandDescriptors =
25 std::vector<struct HdCommandDescriptor>;
26
33{
34public:
35 virtual ~HdLegacyRenderControlInterface() = default;
36
39
40 virtual void Execute(
41 const SdfPathVector &taskPaths) = 0;
42
43 virtual bool AreTasksConverged(
44 const SdfPathVector &taskPaths) const = 0;
45
46 virtual bool GetTaskContextData(
47 const TfToken &name, VtValue *data) const = 0;
48
49 virtual void SetTaskContextData(
50 const TfToken &name, const VtValue &data) = 0;
51
52 virtual void RemoveTaskContextData(
53 const TfToken &name) = 0;
54
55 virtual void ClearTaskContextData() = 0;
56
58
61
62 virtual HdAovDescriptor GetDefaultAovDescriptor(
63 const TfToken &name) const = 0;
64
65 virtual HdRenderBuffer * GetRenderBuffer(
66 const SdfPath &path) const = 0;
67
69
77
78 virtual HdRenderSettingDescriptorList
79 GetRenderSettingDescriptors() const = 0;
80 virtual VtValue GetRenderSetting(
81 const TfToken &name) const = 0;
82 virtual void SetRenderSetting(
83 const TfToken &name, VtValue const &value) = 0;
84
86
89
90 virtual HdCommandDescriptors GetCommandDescriptors() = 0;
91
100 virtual bool InvokeCommand(
101 TfToken const &name, const HdCommandArgs &args = {}) = 0;
102
104
107
108 virtual bool IsPauseSupported() const = 0;
109 virtual bool Pause() = 0;
110 virtual bool Resume() = 0;
111 virtual bool IsStopSupported() const = 0;
112 virtual bool Stop(bool blocking = true) = 0;
113 virtual bool Restart() = 0;
114
116
119
120 virtual TfToken GetMaterialBindingPurpose() const = 0;
121 virtual TfTokenVector GetMaterialRenderContexts() const = 0;
122 virtual TfTokenVector GetRenderSettingsNamespaces() const = 0;
123 virtual bool IsPrimvarFilteringNeeded() const = 0;
124 virtual TfTokenVector GetShaderSourceTypes() const = 0;
127 virtual bool IsCoordSysSupported() const = 0;
128
129 HD_API
130 HdRenderDelegateInfo GetRenderDelegateInfo() const;
132
135
138 virtual bool RequiresStormTasks() const = 0;
139
140 virtual VtDictionary GetRenderStats() = 0;
141
144 virtual SdfPath GetRprimPathFromPrimId(int primIdx) = 0;
145
147};
148
149PXR_NAMESPACE_CLOSE_SCOPE
150
151#endif
Transitory Hydra-1.0-like API for HdRenderer.
virtual bool IsCoordSysSupported() const =0
This is for UsdImagingDelegate::_coordSysEnabled that has a surprising performance impact.
virtual bool RequiresStormTasks() const =0
Provides value for HdxTaskControllerSceneIndex::Parameters::isForStorm to configure task controller s...
virtual SdfPath GetRprimPathFromPrimId(int primIdx)=0
Clients should use HdSceneGlobalsSchema's primIdToPath instead.
virtual bool InvokeCommand(TfToken const &name, const HdCommandArgs &args={})=0
Invokes the command described by the token command with optional args.
A render buffer is a handle to a data resource that can be rendered into, such as a 2d image for a dr...
A path value used to locate objects in layers or scenegraphs.
Definition path.h:281
Token for efficient comparison, assignment, and hashing of known strings.
Definition token.h:81
A map with string keys and VtValue values.
Definition dictionary.h:52
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition value.h:90
A bundle of state describing an AOV ("Arbitrary Output Variable") display channel.
Definition aov.h:30
std::vector< TfToken > TfTokenVector
Convenience types.
Definition token.h:489