Loading...
Searching...
No Matches
spec.h
Go to the documentation of this file.
1//
2// Copyright 2016 Pixar
3//
4// Licensed under the Apache License, Version 2.0 (the "Apache License")
5// with the following modification; you may not use this file except in
6// compliance with the Apache License and the following modification to it:
7// Section 6. Trademarks. is deleted and replaced with:
8//
9// 6. Trademarks. This License does not grant permission to use the trade
10// names, trademarks, service marks, or product names of the Licensor
11// and its affiliates, except as required to comply with Section 4(c) of
12// the License and to reproduce the content of the NOTICE file.
13//
14// You may obtain a copy of the Apache License at
15//
16// http://www.apache.org/licenses/LICENSE-2.0
17//
18// Unless required by applicable law or agreed to in writing, software
19// distributed under the Apache License with the above modification is
20// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21// KIND, either express or implied. See the Apache License for the specific
22// language governing permissions and limitations under the Apache License.
23//
24#ifndef PXR_USD_USD_RENDER_SPEC_H
25#define PXR_USD_USD_RENDER_SPEC_H
26
28
29#include "pxr/pxr.h"
30#include "pxr/usd/usdRender/api.h"
32#include "pxr/usd/usd/prim.h"
33#include "pxr/usd/usd/stage.h"
35
36#include "pxr/base/gf/frustum.h"
37
39#include "pxr/base/vt/value.h"
40
41#include "pxr/base/gf/vec3d.h"
42#include "pxr/base/gf/vec3f.h"
44
45#include "pxr/base/tf/token.h"
46#include "pxr/base/tf/type.h"
47
48PXR_NAMESPACE_OPEN_SCOPE
49
51
56 struct Product {
86 std::vector<size_t> renderVarIndices;
89 };
91 struct RenderVar {
96 std::string sourceName;
97 TfToken sourceType;
100 };
102 std::vector<Product> products;
104 std::vector<RenderVar> renderVars;
111};
112
124USDRENDER_API
127 TfTokenVector const& namespaces);
128
136USDRENDER_API
139 TfTokenVector const& namespaces);
140
141PXR_NAMESPACE_CLOSE_SCOPE
142
143#endif
Basic type: 2-dimensional floating point range.
Definition: range2f.h:64
Basic type for a vector of 2 float components.
Definition: vec2f.h:63
Basic type for a vector of 2 int components.
Definition: vec2i.h:61
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:291
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:88
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:134
A UsdRenderSettings prim specifies global settings for a render process, including an enumeration of ...
Definition: settings.h:66
Represents an arbitrary dimensional rectangular container class.
Definition: array.h:228
A map with string keys and VtValue values.
Definition: dictionary.h:60
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:457
bool disableDepthOfField
If set to true, disables depth of field.
Definition: spec.h:68
std::vector< RenderVar > renderVars
The full list of render vars requested by products in this render.
Definition: spec.h:104
std::vector< size_t > renderVarIndices
The render vars used by this product, as indices into the top-level renderVars array.
Definition: spec.h:86
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:88
GfVec2i resolution
The pixel resolution of the product.
Definition: spec.h:70
TfToken aspectRatioConformPolicy
The policy that was applied to conform aspect ratio mismatches between the aperture and image.
Definition: spec.h:75
float pixelAspectRatio
The pixel aspect ratio as adjusted by aspectRatioConformPolicy.
Definition: spec.h:72
VtArray< TfToken > includedPurposes
List of purposes to use to filter scene contents.
Definition: spec.h:106
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:60
GfVec2f apertureSize
The camera aperture size as adjusted by aspectRatioConformPolicy.
Definition: spec.h:77
bool disableMotionBlur
If set to true, disables motion blur.
Definition: spec.h:66
TfToken dataType
The value data type of the variable, as a USD type name.
Definition: spec.h:95
GfRange2f dataWindowNDC
The data window, in NDC terms relative to the aperture.
Definition: spec.h:83
SdfPath renderProductPath
The path of this product, which uniquely identifies it.
Definition: spec.h:58
SdfPath cameraPath
Path to the primary UsdGeomCamera camera to use for this product.
Definition: spec.h:64
std::vector< Product > products
The full list of products requested by this render.
Definition: spec.h:102
TfToken name
The name of the product, which uniquely identifies it.
Definition: spec.h:62
VtArray< TfToken > materialBindingPurposes
List of material binding purposes.
Definition: spec.h:108
SdfPath renderVarPath
The path of this render var, which uniquely identifies it.
Definition: spec.h:93
A self-contained specification of render settings.
Definition: spec.h:54
Specification of a product. See UsdRenderProduct.
Definition: spec.h:56
Specification of a render variable (aka AOV). See UsdRenderVar.
Definition: spec.h:91