Qt
6.x
The Qt SDK
Loading...
Searching...
No Matches
qssgrenderextensions_p.h
Go to the documentation of this file.
1
// Copyright (C) 2023 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4
#ifndef QSSGRENDEREXTENSIIONS_P_H
5
#define QSSGRENDEREXTENSIIONS_P_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#include <QtQuick3DRuntimeRender/private/qtquick3druntimerenderglobal_p.h>
19
#include <QtQuick3DRuntimeRender/private/qssgrenderableobjects_p.h>
20
#include <QtCore/qobject.h>
21
22
QT_BEGIN_NAMESPACE
23
24
class
QSSGRenderer
;
25
class
QSSGLayerRenderData
;
26
27
// NOTE: We might want to move this to the base types header
28
using
QSSGNodeId
=
quintptr
;
29
using
QSSGResourceId
=
quintptr
;
30
31
struct
QSSGRhiRenderableTexture
;
32
33
struct
QSSGRenderNode
;
34
struct
QSSGRenderMesh
;
35
36
class
Q_QUICK3DRUNTIMERENDER_EXPORT
QSSGFrameData
37
{
38
public
:
39
[[nodiscard]]
QSSGRhiGraphicsPipelineState
getPipelineState()
const
;
40
41
[[nodiscard]]
QSSGRenderableNodeEntry
getNode(
QSSGNodeId
id
)
const
;
42
[[nodiscard]]
QSSGRenderableNodeEntry
takeNode(
QSSGNodeId
id
);
43
44
[[nodiscard]]
QSSGRenderGraphObject
*getResource(
QSSGResourceId
id
)
const
;
45
46
[[nodiscard]]
QSSGRenderCamera
*
camera
()
const
;
47
48
[[nodiscard]]
QSSGRenderer
*
renderer
()
const
{
return
m_renderer; }
49
50
private
:
51
friend
class
QSSGLayerRenderData
;
52
friend
class
QSSGRenderHelpers
;
53
54
void
clear
();
55
56
[[nodiscard]]
QSSGLayerRenderData
*getCurrent()
const
;
57
58
QSSGFrameData
() =
default
;
59
explicit
QSSGFrameData
(
QSSGRenderer
*
renderer
);
60
QSSGRenderer
*m_renderer =
nullptr
;
61
};
62
63
class
Q_QUICK3DRUNTIMERENDER_EXPORT
QSSGRenderExtension
:
public
QSSGRenderGraphObject
64
{
65
public
:
66
enum class
Type
67
{
68
Standalone,
69
Main
70
};
71
72
enum class
RenderMode
73
{
74
Underlay,
75
Overlay
76
};
77
78
QSSGRenderExtension
();
79
virtual
~QSSGRenderExtension
();
80
81
virtual
bool
prepareData(
QSSGFrameData
&
data
) = 0;
82
virtual
void
prepareRender(
const
QSSGRenderer
&
renderer
,
QSSGFrameData
&
data
) = 0;
83
virtual
void
render
(
const
QSSGRenderer
&
renderer
) = 0;
84
85
virtual
void
release
() = 0;
86
87
virtual
Type
type
()
const
= 0;
88
virtual
RenderMode
mode
()
const
= 0;
89
};
90
91
QT_END_NAMESPACE
92
93
#endif
// QSSGRENDEREXTENSIIONS_P_H
Main
int(* Main)(int, char **)
Definition
androidjnimain.cpp:64
QSSGFrameData
\inmodule QtQuick3DRuntimeRender
Definition
qssgrenderextensions_p.h:37
QSSGFrameData::renderer
QSSGRenderer * renderer() const
Definition
qssgrenderextensions_p.h:48
QSSGLayerRenderData
Definition
qssglayerrenderdata_p.h:172
QSSGRenderExtension
Definition
qssgrenderextensions_p.h:64
QSSGRenderExtension::RenderMode
RenderMode
Definition
qssgrenderextensions_p.h:73
QSSGRenderHelpers
Definition
qssgrenderhelpers_p.h:62
QSSGRenderer
Definition
qssgrenderer_p.h:47
camera
QCamera * camera
Definition
camera.cpp:19
clear
b clear()
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1545
mode
GLenum mode
Definition
qopengles2ext.h:333
type
GLenum type
Definition
qopengles2ext.h:150
data
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
Definition
qopengles2ext.h:206
QSSGResourceId
quintptr QSSGResourceId
Definition
qquick3dextensionhelpers_p.h:23
QSSGNodeId
quintptr QSSGNodeId
Definition
qquick3dextensionhelpers_p.h:22
QSSGResourceId
quintptr QSSGResourceId
Definition
qssgrenderextensions_p.h:29
QSSGNodeId
quintptr QSSGNodeId
Definition
qssgrenderextensions_p.h:28
quintptr
size_t quintptr
Definition
qtypes.h:72
release
sem release()
render
myWidget render(this)
renderer
QSvgRenderer * renderer
[0]
Definition
src_svg_qgraphicssvgitem.cpp:5
QSSGRenderCamera
Definition
qssgrendercamera_p.h:35
QSSGRenderGraphObject
Definition
qssgrendergraphobject_p.h:29
QSSGRenderMesh
Definition
qssgrendermesh_p.h:94
QSSGRenderNode
Definition
qssgrendernode_p.h:37
QSSGRenderableNodeEntry
Definition
qssgrenderableobjects_p.h:189
QSSGRhiGraphicsPipelineState
Definition
qssgrhicontext_p.h:399
QSSGRhiRenderableTexture
Definition
qssgrhicontext_p.h:715
Type
Definition
moc.h:24
qtquick3d
src
runtimerender
extensionapi
qssgrenderextensions_p.h
Generated by
1.9.7