engine.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 
26 
27 #ifndef PXR_USD_IMAGING_USD_IMAGING_GL_ENGINE_H
28 #define PXR_USD_IMAGING_USD_IMAGING_GL_ENGINE_H
29 
30 #include "pxr/pxr.h"
31 #include "pxr/usdImaging/usdImagingGL/api.h"
32 #include "pxr/usdImaging/usdImagingGL/version.h"
33 #include "pxr/usdImaging/usdImaging/version.h"
34 
36 #include "pxr/usdImaging/usdImagingGL/rendererSettings.h"
37 
38 #include "pxr/imaging/cameraUtil/conformWindow.h"
39 
40 #include "pxr/imaging/hd/driver.h"
41 #include "pxr/imaging/hd/engine.h"
42 #include "pxr/imaging/hd/rprimCollection.h"
43 #include "pxr/imaging/hd/pluginRenderDelegateUniqueHandle.h"
44 
45 #include "pxr/imaging/hdx/selectionTracker.h"
46 #include "pxr/imaging/hdx/renderSetupTask.h"
47 
48 #include "pxr/imaging/hgi/hgi.h"
49 
52 
53 #include "pxr/imaging/hgi/hgi.h"
54 
55 #include "pxr/usd/sdf/path.h"
56 #include "pxr/usd/usd/timeCode.h"
57 
58 #include "pxr/base/gf/frustum.h"
59 #include "pxr/base/gf/matrix4d.h"
60 #include "pxr/base/gf/vec4d.h"
61 #include "pxr/base/gf/vec4f.h"
62 #include "pxr/base/gf/vec4i.h"
63 
64 #include "pxr/base/vt/dictionary.h"
65 
67 
68 PXR_NAMESPACE_OPEN_SCOPE
69 
70 class UsdPrim;
71 class HdRenderIndex;
72 class HdxTaskController;
73 class UsdImagingDelegate;
74 
75 TF_DECLARE_WEAK_AND_REF_PTRS(GlfSimpleLightingContext);
76 TF_DECLARE_REF_PTRS(UsdImagingStageSceneIndex);
79 
85 {
86 public:
87 
88  // ---------------------------------------------------------------------
91  // ---------------------------------------------------------------------
92 
101  USDIMAGINGGL_API
102  UsdImagingGLEngine(const HdDriver& driver = HdDriver(),
103  const TfToken& rendererPluginId = TfToken(),
104  bool gpuEnabled = true);
105 
106  USDIMAGINGGL_API
107  UsdImagingGLEngine(const SdfPath& rootPath,
108  const SdfPathVector& excludedPaths,
109  const SdfPathVector& invisedPaths = SdfPathVector(),
110  const SdfPath& sceneDelegateID =
112  const HdDriver& driver = HdDriver(),
113  const TfToken& rendererPluginId = TfToken(),
114  bool gpuEnabled = true);
115 
116  // Disallow copies
117  UsdImagingGLEngine(const UsdImagingGLEngine&) = delete;
118  UsdImagingGLEngine& operator=(const UsdImagingGLEngine&) = delete;
119 
120  USDIMAGINGGL_API
122 
124 
125  // ---------------------------------------------------------------------
128  // ---------------------------------------------------------------------
129 
131  USDIMAGINGGL_API
132  void PrepareBatch(const UsdPrim& root,
133  const UsdImagingGLRenderParams& params);
134  USDIMAGINGGL_API
135  void RenderBatch(const SdfPathVector& paths,
136  const UsdImagingGLRenderParams& params);
137 
139  USDIMAGINGGL_API
140  void Render(const UsdPrim& root,
141  const UsdImagingGLRenderParams &params);
142 
145  USDIMAGINGGL_API
146  bool IsConverged() const;
147 
149 
150  // ---------------------------------------------------------------------
153  // ---------------------------------------------------------------------
154 
156  USDIMAGINGGL_API
157  void SetRootTransform(GfMatrix4d const& xf);
158 
160  USDIMAGINGGL_API
161  void SetRootVisibility(bool isVisible);
162 
164 
165  // ---------------------------------------------------------------------
168  // ---------------------------------------------------------------------
169 
172  USDIMAGINGGL_API
173  void SetCameraPath(SdfPath const& id);
174 
178  USDIMAGINGGL_API
179  void SetFraming(CameraUtilFraming const& framing);
180 
190  USDIMAGINGGL_API
192  const std::pair<bool, CameraUtilConformWindowPolicy> &policy);
193 
197  USDIMAGINGGL_API
198  void SetRenderBufferSize(GfVec2i const& size);
199 
205  USDIMAGINGGL_API
206  void SetRenderViewport(GfVec4d const& viewport);
207 
211  USDIMAGINGGL_API
212  void SetWindowPolicy(CameraUtilConformWindowPolicy policy);
213 
218  USDIMAGINGGL_API
219  void SetCameraState(const GfMatrix4d& viewMatrix,
220  const GfMatrix4d& projectionMatrix);
221 
223 
224  // ---------------------------------------------------------------------
227  // ---------------------------------------------------------------------
228 
230  USDIMAGINGGL_API
231  void SetLightingState(GlfSimpleLightingContextPtr const &src);
232 
237  USDIMAGINGGL_API
238  void SetLightingState(GlfSimpleLightVector const &lights,
239  GlfSimpleMaterial const &material,
240  GfVec4f const &sceneAmbient);
241 
243 
244  // ---------------------------------------------------------------------
247  // ---------------------------------------------------------------------
248 
252  USDIMAGINGGL_API
253  void SetSelected(SdfPathVector const& paths);
254 
257  USDIMAGINGGL_API
258  void ClearSelected();
259 
263  USDIMAGINGGL_API
264  void AddSelected(SdfPath const &path, int instanceIndex);
265 
267  USDIMAGINGGL_API
268  void SetSelectionColor(GfVec4f const& color);
269 
271 
272  // ---------------------------------------------------------------------
275  // ---------------------------------------------------------------------
276 
294  USDIMAGINGGL_API
295  bool TestIntersection(
296  const GfMatrix4d &viewMatrix,
297  const GfMatrix4d &projectionMatrix,
298  const UsdPrim& root,
299  const UsdImagingGLRenderParams &params,
300  GfVec3d *outHitPoint,
301  GfVec3d *outHitNormal,
302  SdfPath *outHitPrimPath = NULL,
303  SdfPath *outHitInstancerPath = NULL,
304  int *outHitInstanceIndex = NULL,
305  HdInstancerContext *outInstancerContext = NULL);
306 
309  USDIMAGINGGL_API
310  bool DecodeIntersection(
311  unsigned char const primIdColor[4],
312  unsigned char const instanceIdColor[4],
313  SdfPath *outHitPrimPath = NULL,
314  SdfPath *outHitInstancerPath = NULL,
315  int *outHitInstanceIndex = NULL,
316  HdInstancerContext *outInstancerContext = NULL);
317 
319 
320  // ---------------------------------------------------------------------
323  // ---------------------------------------------------------------------
324 
326  USDIMAGINGGL_API
328 
330  USDIMAGINGGL_API
331  static std::string GetRendererDisplayName(TfToken const &id);
332 
334  USDIMAGINGGL_API
335  bool GetGPUEnabled() const;
336 
338  USDIMAGINGGL_API
340 
343  USDIMAGINGGL_API
344  bool SetRendererPlugin(TfToken const &id);
345 
347 
348  // ---------------------------------------------------------------------
351  // ---------------------------------------------------------------------
352 
354  USDIMAGINGGL_API
356 
358  USDIMAGINGGL_API
359  bool SetRendererAov(TfToken const& id);
360 
362  USDIMAGINGGL_API
363  HgiTextureHandle GetAovTexture(TfToken const& name) const;
364 
366  USDIMAGINGGL_API
367  HdRenderBuffer* GetAovRenderBuffer(TfToken const& name) const;
368 
370  USDIMAGINGGL_API
371  UsdImagingGLRendererSettingsList GetRendererSettingsList() const;
372 
374  USDIMAGINGGL_API
375  VtValue GetRendererSetting(TfToken const& id) const;
376 
378  USDIMAGINGGL_API
379  void SetRendererSetting(TfToken const& id,
380  VtValue const& value);
381 
385  USDIMAGINGGL_API
386  void SetEnablePresentation(bool enabled);
387 
393  USDIMAGINGGL_API
394  void SetPresentationOutput(TfToken const &api, VtValue const &framebuffer);
395 
397 
398  // ---------------------------------------------------------------------
401  // ---------------------------------------------------------------------
402 
406  USDIMAGINGGL_API
407  HdCommandDescriptors GetRendererCommandDescriptors() const;
408 
414  USDIMAGINGGL_API
416  const TfToken &command,
417  const HdCommandArgs &args = HdCommandArgs()) const;
418 
419  // ---------------------------------------------------------------------
422  // ---------------------------------------------------------------------
423 
425  USDIMAGINGGL_API
426  bool IsPauseRendererSupported() const;
427 
431  USDIMAGINGGL_API
432  bool PauseRenderer();
433 
437  USDIMAGINGGL_API
438  bool ResumeRenderer();
439 
441  USDIMAGINGGL_API
442  bool IsStopRendererSupported() const;
443 
447  USDIMAGINGGL_API
448  bool StopRenderer();
449 
453  USDIMAGINGGL_API
454  bool RestartRenderer();
455 
457 
458  // ---------------------------------------------------------------------
461  // ---------------------------------------------------------------------
462 
477  USDIMAGINGGL_API
479  TfToken const& ccType,
480  TfToken const& ocioDisplay = {},
481  TfToken const& ocioView = {},
482  TfToken const& ocioColorSpace = {},
483  TfToken const& ocioLook = {});
484 
486 
488  USDIMAGINGGL_API
489  static bool IsColorCorrectionCapable();
490 
491  // ---------------------------------------------------------------------
494  // ---------------------------------------------------------------------
495 
501  USDIMAGINGGL_API
503 
505 
506  // ---------------------------------------------------------------------
509  // ---------------------------------------------------------------------
510 
513  USDIMAGINGGL_API
514  Hgi* GetHgi();
515 
517 
518 protected:
519 
521  friend class UsdImagingGL_UnitTestGLDrawing;
522 
525  USDIMAGINGGL_API
527 
528  USDIMAGINGGL_API
529  void _Execute(const UsdImagingGLRenderParams &params,
530  HdTaskSharedPtrVector tasks);
531 
532  USDIMAGINGGL_API
533  bool _CanPrepare(const UsdPrim& root);
534  USDIMAGINGGL_API
535  void _PreSetTime(const UsdImagingGLRenderParams& params);
536  USDIMAGINGGL_API
537  void _PostSetTime(const UsdImagingGLRenderParams& params);
538 
539  USDIMAGINGGL_API
540  void _PrepareRender(const UsdImagingGLRenderParams& params);
541 
542  USDIMAGINGGL_API
543  void _UpdateDomeLightCameraVisibility();
544 
545  using BBoxVector = std::vector<GfBBox3d>;
546 
547  USDIMAGINGGL_API
548  void _SetBBoxParams(
549  const BBoxVector& bboxes,
550  const GfVec4f& bboxLineColor,
551  float bboxLineDashSize);
552 
553  // Create a hydra collection given root paths and render params.
554  // Returns true if the collection was updated.
555  USDIMAGINGGL_API
556  static bool _UpdateHydraCollection(HdRprimCollection *collection,
557  SdfPathVector const& roots,
558  UsdImagingGLRenderParams const& params);
559  USDIMAGINGGL_API
560  static HdxRenderTaskParams _MakeHydraUsdImagingGLRenderParams(
561  UsdImagingGLRenderParams const& params);
562  USDIMAGINGGL_API
563  static void _ComputeRenderTags(UsdImagingGLRenderParams const& params,
564  TfTokenVector *renderTags);
565 
566  USDIMAGINGGL_API
567  void _InitializeHgiIfNecessary();
568 
569  USDIMAGINGGL_API
570  void _SetRenderDelegateAndRestoreState(
572 
573  USDIMAGINGGL_API
574  void _SetRenderDelegate(HdPluginRenderDelegateUniqueHandle &&);
575 
576  USDIMAGINGGL_API
577  SdfPath _ComputeControllerPath(const HdPluginRenderDelegateUniqueHandle &);
578 
579  USDIMAGINGGL_API
580  static TfToken _GetDefaultRendererPluginId();
581 
587  USDIMAGINGGL_API
589 
590  USDIMAGINGGL_API
591  HdEngine *_GetHdEngine();
592 
593  USDIMAGINGGL_API
594  HdxTaskController *_GetTaskController() const;
595 
596  USDIMAGINGGL_API
597  HdSelectionSharedPtr _GetSelection() const;
598 
599 protected:
600 
601  // Note that any of the fields below might become private
602  // in the future and subclasses should use the above getters
603  // to access them instead.
604 
605  HgiUniquePtr _hgi;
606  // Similar for HdDriver.
607  HdDriver _hgiDriver;
608 
609  VtValue _userFramebuffer;
610 
611 protected:
612  bool _gpuEnabled;
613  HdPluginRenderDelegateUniqueHandle _renderDelegate;
614  std::unique_ptr<HdRenderIndex> _renderIndex;
615 
616  SdfPath const _sceneDelegateId;
617 
618  std::unique_ptr<HdxTaskController> _taskController;
619 
620  HdxSelectionTrackerSharedPtr _selTracker;
621  HdRprimCollection _renderCollection;
622  HdRprimCollection _intersectCollection;
623 
624  GlfSimpleLightingContextRefPtr _lightingContextForOpenGLState;
625 
626  // Data we want to live across render plugin switches:
627  GfVec4f _selectionColor;
628  bool _domeLightCameraVisibility;
629 
630  SdfPath _rootPath;
631  SdfPathVector _excludedPrimPaths;
632  SdfPathVector _invisedPrimPaths;
633  bool _isPopulated;
634 
635 private:
636  void _DestroyHydraObjects();
637 
638  // Note that we'll only ever use one of _sceneIndex/_sceneDelegate
639  // at a time...
640  UsdImagingStageSceneIndexRefPtr _stageSceneIndex;
641  UsdImagingSelectionSceneIndexRefPtr _selectionSceneIndex;
642  HdSceneIndexBaseRefPtr _sceneIndex;
643 
644  std::unique_ptr<UsdImagingDelegate> _sceneDelegate;
645 
646  std::unique_ptr<HdEngine> _engine;
647 };
648 
649 
650 PXR_NAMESPACE_CLOSE_SCOPE
651 
652 #endif // PXR_USD_IMAGING_USD_IMAGING_GL_ENGINE_H
USDIMAGINGGL_API HdCommandDescriptors GetRendererCommandDescriptors() const
Return command deescriptors for commands supported by the active render delegate.
The Hydra render index is a flattened representation of the client scene graph, which may be composed...
Definition: renderIndex.h:120
static USDIMAGINGGL_API bool IsColorCorrectionCapable()
Returns true if the platform is color correction capable.
A (movable) handle for a render delegate that was created using a a plugin.
USDIMAGINGGL_API void SetRendererSetting(TfToken const &id, VtValue const &value)
Sets a renderer setting's value.
Basic type for a vector of 2 int components.
Definition: vec2i.h:61
Standard pointer typedefs.
USDIMAGINGGL_API void SetCameraPath(SdfPath const &id)
Scene camera API Set the scene camera path to use for rendering.
USDIMAGINGGL_API TfTokenVector GetRendererAovs() const
Return the vector of available renderer AOV settings.
USDIMAGINGGL_API UsdImagingDelegate * _GetSceneDelegate() const
Get a direct pointer to the scene delegate.
USDIMAGINGGL_API UsdImagingGLRendererSettingsList GetRendererSettingsList() const
Returns the list of renderer settings.
USDIMAGINGGL_API VtValue GetRendererSetting(TfToken const &id) const
Gets a renderer setting's current value.
A map with string keys and VtValue values.
Definition: dictionary.h:63
USDIMAGINGGL_API TfToken GetCurrentRendererId() const
Return the id of the currently used renderer plugin.
static USDIMAGINGGL_API TfTokenVector GetRendererPlugins()
Return the vector of available render-graph delegate plugins.
USDIMAGINGGL_API Hgi * GetHgi()
Returns the HGI interface.
Basic type for a vector of 4 double components.
Definition: vec4d.h:63
USDIMAGINGGL_API bool RestartRenderer()
Restart the renderer.
#define TF_DECLARE_WEAK_AND_REF_PTRS(type)
Define standard weak, ref, and vector pointer types.
Definition: declarePtrs.h:89
USDIMAGINGGL_API void SetPresentationOutput(TfToken const &api, VtValue const &framebuffer)
The destination API (e.g., OpenGL, see hgiInterop for details) and framebuffer that the AOVs are pres...
USDIMAGINGGL_API HdRenderIndex * _GetRenderIndex() const
Returns the render index of the engine, if any.
USDIMAGINGGL_API void SetFraming(CameraUtilFraming const &framing)
Determines how the filmback of the camera is mapped into the pixels of the render buffer and what pix...
USDIMAGINGGL_API bool GetGPUEnabled() const
Return if the GPU is enabled and can be used for any rendering tasks.
USDIMAGINGGL_API bool StopRenderer()
Stop the renderer.
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:87
USDIMAGINGGL_API void SetRenderViewport(GfVec4d const &viewport)
Set the viewport to use for rendering as (x,y,w,h), where (x,y) represents the lower left corner of t...
USDIMAGINGGL_API void SetWindowPolicy(CameraUtilConformWindowPolicy policy)
Set the window policy to use.
HdDriver represents a device object, commonly a render device, that is owned by the application and p...
Definition: driver.h:40
RenderTask parameters (renderpass state).
USDIMAGINGGL_API void SetRenderBufferSize(GfVec2i const &size)
Set the size of the render buffers baking the AOVs.
USDIMAGINGGL_API void SetSelected(SdfPathVector const &paths)
Sets (replaces) the list of prim paths that should be included in selection highlighting.
Stores a 4x4 matrix of double elements.
Definition: matrix4d.h:88
The application-facing entry point top-level entry point for accessing Hydra.
Definition: engine.h:48
USDIMAGINGGL_API bool IsConverged() const
Returns true if the resulting image is fully converged.
Abstract interface to scene data.
Definition: sceneIndex.h:62
USDIMAGINGGL_API void SetCameraState(const GfMatrix4d &viewMatrix, const GfMatrix4d &projectionMatrix)
Free camera API Set camera framing state directly (without pointing to a camera on the USD stage).
A simple scene index adding HdSelectionsSchema to all prims selected with AddSelection.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:134
USDIMAGINGGL_API HgiTextureHandle GetAovTexture(TfToken const &name) const
Returns an AOV texture handle for the given token.
std::vector< TfToken > TfTokenVector
Convenience types.
Definition: token.h:442
A named, semantic collection of objects.
USDIMAGINGGL_API bool TestIntersection(const GfMatrix4d &viewMatrix, const GfMatrix4d &projectionMatrix, const UsdPrim &root, const UsdImagingGLRenderParams &params, GfVec3d *outHitPoint, GfVec3d *outHitNormal, SdfPath *outHitPrimPath=NULL, SdfPath *outHitInstancerPath=NULL, int *outHitInstanceIndex=NULL, HdInstancerContext *outInstancerContext=NULL)
Finds closest point of intersection with a frustum by rendering.
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:290
USDIMAGINGGL_API VtDictionary GetRenderStats() const
Returns render statistics.
USDIMAGINGGL_API void PrepareBatch(const UsdPrim &root, const UsdImagingGLRenderParams &params)
Support for batched drawing.
USDIMAGINGGL_API bool ResumeRenderer()
Resume the renderer.
USDIMAGINGGL_API void SetOverrideWindowPolicy(const std::pair< bool, CameraUtilConformWindowPolicy > &policy)
Specifies whether to force a window policy when conforming the frustum of the camera to match the dis...
Basic type for a vector of 4 float components.
Definition: vec4f.h:63
USDIMAGINGGL_API bool InvokeRendererCommand(const TfToken &command, const HdCommandArgs &args=HdCommandArgs()) const
Invokes command on the active render delegate.
Hydra Graphics Interface.
Definition: hgi.h:110
Used as an arguments class for various methods in UsdImagingGLEngine.
Definition: renderParams.h:73
USDIMAGINGGL_API void AddSelected(SdfPath const &path, int instanceIndex)
Add a path with instanceIndex to the list of prim paths that should be included in selection highligh...
static SDF_API const SdfPath & AbsoluteRootPath()
The absolute path representing the top of the namespace hierarchy.
USDIMAGINGGL_API bool PauseRenderer()
Pause the renderer.
Basic type for a vector of 3 double components.
Definition: vec3d.h:63
USDIMAGINGGL_API void SetSelectionColor(GfVec4f const &color)
Sets the selection highlighting color.
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:49
USDIMAGINGGL_API bool IsStopRendererSupported() const
Query the renderer as to whether it supports stopping and restarting.
USDIMAGINGGL_API void SetColorCorrectionSettings(TfToken const &ccType, TfToken const &ocioDisplay={}, TfToken const &ocioView={}, TfToken const &ocioColorSpace={}, TfToken const &ocioLook={})
Set ccType to one of the HdxColorCorrectionTokens: {disabled, sRGB, openColorIO}.
#define TF_DECLARE_REF_PTRS(type)
Define standard ref pointer types.
Definition: declarePtrs.h:75
USDIMAGINGGL_API void ClearSelected()
Clear the list of prim paths that should be included in selection highlighting.
USDIMAGINGGL_API void SetRootVisibility(bool isVisible)
Sets the root visibility.
static USDIMAGINGGL_API std::string GetRendererDisplayName(TfToken const &id)
Return the user-friendly description of a renderer plugin.
USDIMAGINGGL_API void SetEnablePresentation(bool enabled)
Enable / disable presenting the render to bound framebuffer.
USDIMAGINGGL_API bool SetRendererAov(TfToken const &id)
Set the current renderer AOV to id.
The UsdImagingGLEngine is the main entry point API for rendering USD scenes.
Definition: engine.h:84
USDIMAGINGGL_API void SetLightingState(GlfSimpleLightingContextPtr const &src)
Copy lighting state from another lighting context.
USDIMAGINGGL_API void Render(const UsdPrim &root, const UsdImagingGLRenderParams &params)
Entry point for kicking off a render.
The primary translation layer between the Hydra (Hd) core and the Usd scene graph.
Definition: delegate.h:87
USDIMAGINGGL_API void SetRootTransform(GfMatrix4d const &xf)
Sets the root transform.
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition: value.h:166
USDIMAGINGGL_API bool IsPauseRendererSupported() const
Query the renderer as to whether it supports pausing and resuming.
USDIMAGINGGL_API UsdImagingGLEngine(const HdDriver &driver=HdDriver(), const TfToken &rendererPluginId=TfToken(), bool gpuEnabled=true)
An HdDriver, containing the Hgi of your choice, can be optionally passed in during construction.
USDIMAGINGGL_API bool DecodeIntersection(unsigned char const primIdColor[4], unsigned char const instanceIdColor[4], SdfPath *outHitPrimPath=NULL, SdfPath *outHitInstancerPath=NULL, int *outHitInstanceIndex=NULL, HdInstancerContext *outInstancerContext=NULL)
Decodes a pick result given hydra prim ID/instance ID (like you'd get from an ID render).
USDIMAGINGGL_API bool SetRendererPlugin(TfToken const &id)
Set the current render-graph delegate to id.
USDIMAGINGGL_API HdRenderBuffer * GetAovRenderBuffer(TfToken const &name) const
Returns the AOV render buffer for the given token.
Framing information.
Definition: framing.h:79