Loading...
Searching...
No Matches
hgiInterop.h
1//
2// Copyright 2020 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_HGIINTEROP_HGIINTEROP_H
8#define PXR_IMAGING_HGIINTEROP_HGIINTEROP_H
9
10#include "pxr/pxr.h"
11#include "pxr/base/tf/token.h"
12#include "pxr/base/gf/vec4i.h"
13#include "pxr/imaging/hgiInterop/api.h"
14#include "pxr/imaging/hgi/texture.h"
15
16#include <memory>
17
18PXR_NAMESPACE_OPEN_SCOPE
19
20class Hgi;
21class VtValue;
22
23struct HgiInteropImpl;
24
32class HgiInterop final
33{
34public:
35 HGIINTEROP_API
36 HgiInterop();
37
38 HGIINTEROP_API
40
72 HGIINTEROP_API
74 Hgi *srcHgi,
75 HgiTextureHandle const &srcColor,
76 HgiTextureHandle const &srcDepth,
77 TfToken const &dstApi,
78 VtValue const &dstFramebuffer,
79 GfVec4i const &dstRegion);
80
81private:
82 HgiInterop & operator=(const HgiInterop&) = delete;
83 HgiInterop(const HgiInterop&) = delete;
84
85 std::unique_ptr<HgiInteropImpl> _hgiInteropImpl;
86};
87
88
89PXR_NAMESPACE_CLOSE_SCOPE
90
91#endif
Basic type for a vector of 4 int components.
Definition: vec4i.h:44
Hydra Graphics Interface.
Definition: hgi.h:95
Hydra Graphics Interface Interop.
Definition: hgiInterop.h:33
HGIINTEROP_API void TransferToApp(Hgi *srcHgi, HgiTextureHandle const &srcColor, HgiTextureHandle const &srcDepth, TfToken const &dstApi, VtValue const &dstFramebuffer, GfVec4i const &dstRegion)
Composite the provided textures over the application / viewer's framebuffer contents.
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
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...