Loading...
Searching...
No Matches
renderDelegateAdapterRenderer.h
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"
12#include "pxr/imaging/hd/pluginRenderDelegateUniqueHandle.h"
13#include "pxr/imaging/hd/renderer.h"
14
15PXR_NAMESPACE_OPEN_SCOPE
16
17class HdRenderIndex;
18class HdEngine;
19class HdDriver;
21
29{
30public:
31 HD_API
34 HdSceneIndexBaseRefPtr const &terminalSceneIndex,
35 const HdRendererCreateArgsSchema &rendererCreateArgs);
36
40 HD_API
43 HdSceneIndexBaseRefPtr const &terminalSceneIndex,
44 HdContainerDataSourceHandle const &rendererCreateArgs);
45
46 HD_API
48
50
51private:
52 // Keep HdDriver's alive while HdRenderIndex/HdRenderDelegate has raw
53 // pointers to HdDriver.
54 const std::vector<HdDriver> _drivers;
55 HdPluginRenderDelegateUniqueHandle const _renderDelegate;
56 std::unique_ptr<HdRenderIndex> const _renderIndex;
57 std::unique_ptr<HdEngine> const _engine;
58
59 class _LegacyRenderControl;
60 std::unique_ptr<_LegacyRenderControl> const _legacyRenderControl;
61};
62
63PXR_NAMESPACE_CLOSE_SCOPE
64
65#endif
HdDriver represents a device object, commonly a render device, that is owned by the application and p...
Definition driver.h:23
The application-facing entry point top-level entry point for accessing Hydra.
Definition engine.h:31
Transitory Hydra-1.0-like API for HdRenderer.
A (movable) handle for a render delegate that was created using a a plugin.
A Hydra renderer that populates a Hydra 1.0 render delegate from a (typically terminal) scene index u...
HdLegacyRenderControlInterface * GetLegacyRenderControl() override
Transitory Hydra-1.0-like API.
HD_API HdRenderDelegateAdapterRenderer(HdPluginRenderDelegateUniqueHandle renderDelegate, HdSceneIndexBaseRefPtr const &terminalSceneIndex, HdContainerDataSourceHandle const &rendererCreateArgs)
The render index is part of the Hydra 1.0 API and is only used for emulation purposes so that HdScene...
Arguments to HdRendererPlugin::IsSupported and CreateRenderer.
A Hydra renderer.
Definition renderer.h:28
Abstract interface to scene data.
Definition sceneIndex.h:55
#define TF_DECLARE_REF_PTRS(type)
Define standard ref pointer types.
Definition declarePtrs.h:58