HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
renderDelegateAdapterRenderer.h
Go to the documentation of this file.
1 //
2 // Copyright 2025 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_IMAGING_HD_RENDER_DELEGATE_ADAPTER_RENDERER_H
8 #define PXR_IMAGING_HD_RENDER_DELEGATE_ADAPTER_RENDERER_H
9 
10 #include "pxr/pxr.h"
11 #include "pxr/imaging/hd/api.h"
14 
16 
17 class HdRenderIndex;
18 class HdEngine;
19 class HdDriver;
21 
22 ///
23 /// \class HdRenderDelegateAdapterRenderer
24 ///
25 /// A Hydra renderer that populates a Hydra 1.0 render delegate from a
26 /// (typically terminal) scene index using "back-end" emulation.
27 ///
29 {
30 public:
31  HD_API
34  HdSceneIndexBaseRefPtr const &terminalSceneIndex,
35  HdContainerDataSourceHandle const &rendererCreateArgs);
36 
37  HD_API
39 
41 
42 private:
43  // Keep HdDriver's alive while HdRenderIndex/HdRenderDelegate has raw
44  // pointers to HdDriver.
45  const std::vector<HdDriver> _drivers;
46  HdPluginRenderDelegateUniqueHandle const _renderDelegate;
47  std::unique_ptr<HdRenderIndex> const _renderIndex;
48  std::unique_ptr<HdEngine> const _engine;
49 
50  class _LegacyRenderControl;
51  std::unique_ptr<_LegacyRenderControl> const _legacyRenderControl;
52 };
53 
55 
56 #endif
#define PXR_NAMESPACE_OPEN_SCOPE
Definition: pxr.h:73
HD_API ~HdRenderDelegateAdapterRenderer() override
HD_API HdRenderDelegateAdapterRenderer(HdPluginRenderDelegateUniqueHandle renderDelegate, HdSceneIndexBaseRefPtr const &terminalSceneIndex, HdContainerDataSourceHandle const &rendererCreateArgs)
#define HD_API
Definition: api.h:23
HdLegacyRenderControlInterface * GetLegacyRenderControl() override
Transitory Hydra-1.0-like API.
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74
TF_DECLARE_REF_PTRS(HdSceneIndexBase)