Loading...
Searching...
No Matches
engine.h
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_IMAGING_HD_ENGINE_H
8#define PXR_IMAGING_HD_ENGINE_H
9
10#include "pxr/pxr.h"
11#include "pxr/imaging/hd/api.h"
12#include "pxr/imaging/hd/version.h"
13
14#include "pxr/imaging/hd/task.h"
15
16#include <memory>
17
18PXR_NAMESPACE_OPEN_SCOPE
19
20class HdRenderIndex;
21class HdRenderDelegate;
23
24using HdRenderPassSharedPtr = std::shared_ptr<class HdRenderPass>;
25using HdRenderPassStateSharedPtr = std::shared_ptr<class HdRenderPassState>;
26
31class HdEngine {
32public:
33 HD_API
34 HdEngine();
35 HD_API
36 virtual ~HdEngine();
37
44
47 HD_API
48 void SetTaskContextData(const TfToken &id, const VtValue &data);
49
52 HD_API
53 bool GetTaskContextData(const TfToken &id, VtValue *data) const;
54
56 HD_API
58
60 HD_API
62
64
66 HD_API
68 HdTaskSharedPtrVector *tasks);
69
70
71 HD_API
72 void Execute(HdRenderIndex * index,
73 const SdfPathVector &taskPaths);
74
75 HD_API
76 bool AreTasksConverged(HdRenderIndex * index,
77 const SdfPathVector &taskPaths);
78
79private:
84 HdTaskContext _taskContext;
85};
86
87
88PXR_NAMESPACE_CLOSE_SCOPE
89
90#endif //PXR_IMAGING_HD_ENGINE_H
The application-facing entry point top-level entry point for accessing Hydra.
Definition: engine.h:31
HD_API void Execute(HdRenderIndex *index, HdTaskSharedPtrVector *tasks)
Execute tasks.
HD_API void ClearTaskContextData()
Removes all keys.
HD_API bool GetTaskContextData(const TfToken &id, VtValue *data) const
If found, will return the value from the task context data associated with the token.
HD_API void SetTaskContextData(const TfToken &id, const VtValue &data)
Adds or updates the value associated with the token.
HD_API void RemoveTaskContextData(const TfToken &id)
Removes the specified token.
The Hydra render index is a flattened representation of the client scene graph, which may be composed...
Definition: renderIndex.h:105
A central registry for resources.
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:71
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition: value.h:152