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:
37
38 virtual void Execute(
39 const SdfPathVector &taskPaths) = 0;
40
41 virtual bool AreTasksConverged(
42 const SdfPathVector &taskPaths) const = 0;
43
44 virtual bool GetTaskContextData(
45 const TfToken &name, VtValue *data) const = 0;
46
47 virtual void SetTaskContextData(
48 const TfToken &name, const VtValue &data) = 0;
49
51
54
55 virtual HdAovDescriptor GetDefaultAovDescriptor(
56 const TfToken &name) const = 0;
57
58 virtual HdRenderBuffer * GetRenderBuffer(
59 const SdfPath &path) const = 0;
60
62
65
66 virtual HdRenderSettingDescriptorList
67 GetRenderSettingDescriptors() const = 0;
68 virtual VtValue GetRenderSetting(
69 const TfToken &name) const = 0;
70 virtual void SetRenderSetting(
71 const TfToken &name, VtValue const &value) = 0;
72
74
77
78 virtual HdCommandDescriptors GetCommandDescriptors() = 0;
79
88 virtual bool InvokeCommand(
89 TfToken const &name, const HdCommandArgs &args = {}) = 0;
90
92
95
96 virtual bool IsPauseSupported() const = 0;
97 virtual bool Pause() = 0;
98 virtual bool Resume() = 0;
99 virtual bool IsStopSupported() const = 0;
100 virtual bool Stop(bool blocking = true) = 0;
101 virtual bool Restart() = 0;
102
104
107
108 virtual TfToken GetMaterialBindingPurpose() const = 0;
109 virtual TfTokenVector GetMaterialRenderContexts() const = 0;
110 virtual TfTokenVector GetRenderSettingsNamespaces() const = 0;
111 virtual bool IsPrimvarFilteringNeeded() const = 0;
112 virtual TfTokenVector GetShaderSourceTypes() const = 0;
115 virtual bool IsCoordSysSupported() const = 0;
116
117 HD_API
118 HdRenderDelegateInfo GetRenderDelegateInfo() const;
120
123
126 virtual bool RequiresStormTasks() const = 0;
127
128 virtual VtDictionary GetRenderStats() = 0;
129
130 virtual SdfPath GetRprimPathFromPrimId(int primIdx) = 0;
131
133};
134
135PXR_NAMESPACE_CLOSE_SCOPE
136
137#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 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...
Definition: renderBuffer.h:33
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:274
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:71
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:440