7#ifndef PXR_IMAGING_HD_RENDER_SETTINGS_H
8#define PXR_IMAGING_HD_RENDER_SETTINGS_H
11#include "pxr/imaging/hd/api.h"
12#include "pxr/imaging/hd/bprim.h"
23PXR_NAMESPACE_OPEN_SCOPE
54 enum DirtyBits : HdDirtyBits {
57 DirtyNamespacedSettings = 1 << 2,
58 DirtyRenderProducts = 1 << 3,
59 DirtyIncludedPurposes = 1 << 4,
60 DirtyMaterialBindingPurposes = 1 << 5,
61 DirtyRenderingColorSpace = 1 << 6,
62 DirtyShutterInterval = 1 << 7,
63 DirtyFrameNumber = 1 << 8,
64 AllDirty = DirtyActive
65 | DirtyNamespacedSettings
67 | DirtyIncludedPurposes
68 | DirtyMaterialBindingPurposes
69 | DirtyRenderingColorSpace
70 | DirtyShutterInterval
78 struct RenderProduct {
82 std::string sourceName;
98 std::vector<RenderVar> renderVars;
105 float pixelAspectRatio;
108 TfToken aspectRatioConformPolicy;
120 bool disableMotionBlur;
121 bool disableDepthOfField;
125 using RenderProducts = std::vector<RenderProduct>;
135 bool IsActive()
const;
138 bool IsValid()
const;
144 const RenderProducts& GetRenderProducts()
const;
153 const TfToken& GetRenderingColorSpace()
const;
157 const VtValue& GetShutterInterval()
const;
166 HdDirtyBits *dirtyBits)
override final;
184 const HdDirtyBits *dirtyBits);
195 RenderProducts _products;
204size_t hash_value(HdRenderSettings::RenderProduct
const &rp);
208 std::ostream& out,
const HdRenderSettings::RenderProduct&);
211bool operator==(
const HdRenderSettings::RenderProduct& lhs,
212 const HdRenderSettings::RenderProduct& rhs);
214bool operator!=(
const HdRenderSettings::RenderProduct& lhs,
215 const HdRenderSettings::RenderProduct& rhs);
218 std::ostream& out,
const HdRenderSettings::RenderProduct::RenderVar&);
221bool operator==(
const HdRenderSettings::RenderProduct::RenderVar& lhs,
222 const HdRenderSettings::RenderProduct::RenderVar& rhs);
224bool operator!=(
const HdRenderSettings::RenderProduct::RenderVar& lhs,
225 const HdRenderSettings::RenderProduct::RenderVar& rhs);
228PXR_NAMESPACE_CLOSE_SCOPE
Basic type: 2-dimensional floating point range.
Basic type for a vector of 2 float components.
Basic type for a vector of 2 int components.
Bprim (buffer prim) is a base class of managing a blob of data that is used to communicate between th...
The HdRenderParam is an opaque (to core Hydra) handle, to an object that is obtained from the render ...
Hydra prim backing render settings scene description.
HD_API HdDirtyBits GetInitialDirtyBitsMask() const override
Returns the minimal set of dirty bits to place in the change tracker for use in the first sync of thi...
HD_API void Sync(HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits) override final
Synchronizes state from the delegate to this object.
Adapter class providing data exchange with the client scene graph.
A path value used to locate objects in layers or scenegraphs.
Token for efficient comparison, assignment, and hashing of known strings.
Represents an arbitrary dimensional rectangular container class.
A map with string keys and VtValue values.
Provides a container which may hold any type, and provides introspection and iteration over array typ...
GF_API std::ostream & operator<<(std::ostream &, const GfBBox3d &)
Output a GfBBox3d using the format [(range) matrix zeroArea].