All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
spec.h
Go to the documentation of this file.
1//
2// Copyright 2016 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_USD_USD_RENDER_SPEC_H
8#define PXR_USD_USD_RENDER_SPEC_H
9
11
12#include "pxr/pxr.h"
13#include "pxr/usd/usdRender/api.h"
15#include "pxr/usd/usd/prim.h"
16#include "pxr/usd/usd/stage.h"
18
19#include "pxr/base/gf/frustum.h"
20
22#include "pxr/base/vt/value.h"
23
24#include "pxr/base/gf/vec3d.h"
25#include "pxr/base/gf/vec3f.h"
27
28#include "pxr/base/tf/token.h"
29#include "pxr/base/tf/type.h"
30
31PXR_NAMESPACE_OPEN_SCOPE
32
34
39 struct Product {
69 std::vector<size_t> renderVarIndices;
72 };
74 struct RenderVar {
79 std::string sourceName;
80 TfToken sourceType;
83 };
85 std::vector<Product> products;
87 std::vector<RenderVar> renderVars;
94};
95
107USDRENDER_API
110 TfTokenVector const& namespaces);
111
119USDRENDER_API
122 TfTokenVector const& namespaces);
123
124PXR_NAMESPACE_CLOSE_SCOPE
125
126#endif
Basic type: 2-dimensional floating point range.
Definition: range2f.h:47
Basic type for a vector of 2 float components.
Definition: vec2f.h:46
Basic type for a vector of 2 int components.
Definition: vec2i.h:44
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
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:117
A UsdRenderSettings prim specifies global settings for a render process, including an enumeration of ...
Definition: settings.h:49
Represents an arbitrary dimensional rectangular container class.
Definition: array.h:211
A map with string keys and VtValue values.
Definition: dictionary.h:43
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...
std::vector< TfToken > TfTokenVector
Convenience types.
Definition: token.h:440
bool disableDepthOfField
If set to true, disables depth of field.
Definition: spec.h:51
std::vector< RenderVar > renderVars
The full list of render vars requested by products in this render.
Definition: spec.h:87
std::vector< size_t > renderVarIndices
The render vars used by this product, as indices into the top-level renderVars array.
Definition: spec.h:69
USDRENDER_API UsdRenderSpec UsdRenderComputeSpec(UsdRenderSettings const &settings, TfTokenVector const &namespaces)
Computes the specification of the render settings.
VtDictionary namespacedSettings
Any extra settings values discovered in requested namespaces.
Definition: spec.h:71
GfVec2i resolution
The pixel resolution of the product.
Definition: spec.h:53
TfToken aspectRatioConformPolicy
The policy that was applied to conform aspect ratio mismatches between the aperture and image.
Definition: spec.h:58
float pixelAspectRatio
The pixel aspect ratio as adjusted by aspectRatioConformPolicy.
Definition: spec.h:55
VtArray< TfToken > includedPurposes
List of purposes to use to filter scene contents.
Definition: spec.h:89
USDRENDER_API VtDictionary UsdRenderComputeNamespacedSettings(UsdPrim const &prim, TfTokenVector const &namespaces)
Returns a dictionary populated with attributes filtered by the namespaces.
TfToken type
The type of product, ex: "raster".
Definition: spec.h:43
GfVec2f apertureSize
The camera aperture size as adjusted by aspectRatioConformPolicy.
Definition: spec.h:60
bool disableMotionBlur
If set to true, disables motion blur.
Definition: spec.h:49
TfToken dataType
The value data type of the variable, as a USD type name.
Definition: spec.h:78
GfRange2f dataWindowNDC
The data window, in NDC terms relative to the aperture.
Definition: spec.h:66
SdfPath renderProductPath
The path of this product, which uniquely identifies it.
Definition: spec.h:41
SdfPath cameraPath
Path to the primary UsdGeomCamera camera to use for this product.
Definition: spec.h:47
std::vector< Product > products
The full list of products requested by this render.
Definition: spec.h:85
TfToken name
The name of the product, which uniquely identifies it.
Definition: spec.h:45
VtArray< TfToken > materialBindingPurposes
List of material binding purposes.
Definition: spec.h:91
SdfPath renderVarPath
The path of this render var, which uniquely identifies it.
Definition: spec.h:76
A self-contained specification of render settings.
Definition: spec.h:37
Specification of a product. See UsdRenderProduct.
Definition: spec.h:39
Specification of a render variable (aka AOV). See UsdRenderVar.
Definition: spec.h:74