24#ifndef PXR_IMAGING_HD_RENDER_SETTINGS_H
25#define PXR_IMAGING_HD_RENDER_SETTINGS_H
28#include "pxr/imaging/hd/api.h"
29#include "pxr/imaging/hd/bprim.h"
40PXR_NAMESPACE_OPEN_SCOPE
71 enum DirtyBits : HdDirtyBits {
74 DirtyNamespacedSettings = 1 << 2,
75 DirtyRenderProducts = 1 << 3,
76 DirtyIncludedPurposes = 1 << 4,
77 DirtyMaterialBindingPurposes = 1 << 5,
78 DirtyRenderingColorSpace = 1 << 6,
79 DirtyShutterInterval = 1 << 7,
80 AllDirty = DirtyActive
81 | DirtyNamespacedSettings
83 | DirtyIncludedPurposes
84 | DirtyMaterialBindingPurposes
85 | DirtyRenderingColorSpace
86 | DirtyShutterInterval
93 struct RenderProduct {
97 std::string sourceName;
113 std::vector<RenderVar> renderVars;
120 float pixelAspectRatio;
123 TfToken aspectRatioConformPolicy;
135 bool disableMotionBlur;
136 bool disableDepthOfField;
140 using RenderProducts = std::vector<RenderProduct>;
150 bool IsActive()
const;
153 bool IsValid()
const;
159 const RenderProducts& GetRenderProducts()
const;
168 const TfToken& GetRenderingColorSpace()
const;
172 const VtValue& GetShutterInterval()
const;
181 HdDirtyBits *dirtyBits)
override final;
199 const HdDirtyBits *dirtyBits);
210 RenderProducts _products;
219size_t hash_value(HdRenderSettings::RenderProduct
const &rp);
223 std::ostream& out,
const HdRenderSettings::RenderProduct&);
226bool operator==(
const HdRenderSettings::RenderProduct& lhs,
227 const HdRenderSettings::RenderProduct& rhs);
229bool operator!=(
const HdRenderSettings::RenderProduct& lhs,
230 const HdRenderSettings::RenderProduct& rhs);
233 std::ostream& out,
const HdRenderSettings::RenderProduct::RenderVar&);
236bool operator==(
const HdRenderSettings::RenderProduct::RenderVar& lhs,
237 const HdRenderSettings::RenderProduct::RenderVar& rhs);
239bool operator!=(
const HdRenderSettings::RenderProduct::RenderVar& lhs,
240 const HdRenderSettings::RenderProduct::RenderVar& rhs);
243PXR_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].