Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qssgrenderextensions.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_H
5
#define QSSGRENDEREXTENSIIONS_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is part of the QtQuick3D API, with limited compatibility guarantees.
12
// Usage of this API may make your code source and binary incompatible with
13
// future versions of Qt.
14
//
15
16
#include <QtQuick3DRuntimeRender/qtquick3druntimerenderexports.h>
17
#include <ssg/qssgrenderbasetypes.h>
18
#include <ssg/qssgrendergraphobject.h>
19
#include <ssg/qssgrhicontext.h>
20
#include <QtCore/qobject.h>
21
22
QT_BEGIN_NAMESPACE
23
24
class
QSSGRenderContextInterface
;
25
class
QSSGLayerRenderData
;
26
class
QRhiTexture
;
27
class
QRhiRenderBuffer
;
28
29
class
Q_QUICK3DRUNTIMERENDER_EXPORT
QSSGFrameData
30
{
31
public
:
32
enum class
RenderResult
:
quint32
33
{
34
AoTexture
,
35
DepthTexture
,
36
ScreenTexture
37
};
38
39
struct
Result
40
{
41
QRhiTexture
*
texture
=
nullptr
;
42
QRhiRenderBuffer
*
buffer
=
nullptr
;
43
};
44
45
Result
getRenderResult(
RenderResult
id
)
const
;
46
47
[[nodiscard]]
QSSGRhiGraphicsPipelineState
getPipelineState()
const
;
48
49
[[nodiscard]]
QSSGCameraId
activeCamera()
const
;
50
51
[[nodiscard]]
QSSGRenderContextInterface
*contextInterface()
const
;
52
53
private
:
54
friend
class
QSSGLayerRenderData
;
55
friend
class
QSSGRenderHelpers
;
56
57
void
clear
();
58
59
[[nodiscard]]
QSSGLayerRenderData
*getCurrent()
const
;
60
61
QSSGFrameData
() =
default
;
62
explicit
QSSGFrameData
(
QSSGRenderContextInterface
*
ctx
);
63
QSSGRenderContextInterface
*m_ctx =
nullptr
;
64
};
65
66
class
Q_QUICK3DRUNTIMERENDER_EXPORT
QSSGRenderExtension
:
public
QSSGRenderGraphObject
67
{
68
public
:
69
enum class
RenderMode
70
{
71
Standalone,
72
Main
73
};
74
75
enum class
RenderStage
76
{
77
PreColor,
78
PostColor
79
};
80
81
QSSGRenderExtension
();
82
virtual
~QSSGRenderExtension
();
83
84
virtual
bool
prepareData(
QSSGFrameData
&
data
) = 0;
85
virtual
void
prepareRender(
QSSGFrameData
&
data
) = 0;
86
virtual
void
render
(
QSSGFrameData
&
data
) = 0;
87
88
virtual
void
resetForFrame() = 0;
89
90
virtual
RenderMode
mode
()
const
= 0;
91
virtual
RenderStage stage()
const
= 0;
92
};
93
94
QT_END_NAMESPACE
95
96
#endif
// QSSGRENDEREXTENSIIONS_H
Main
int(* Main)(int, char **)
Definition
androidjnimain.cpp:71
QRhiRenderBuffer
\inmodule QtGui
Definition
qrhi.h:1094
QRhiTexture
\inmodule QtGui
Definition
qrhi.h:895
QSSGFrameData
\inmodule QtQuick3D
Definition
qssgrenderextensions.h:30
QSSGFrameData::RenderResult
RenderResult
Definition
qssgrenderextensions.h:33
QSSGLayerRenderData
Definition
qssglayerrenderdata_p.h:168
QSSGRenderContextInterface
\inmodule QtQuick3D
Definition
qssgrendercontextcore.h:40
QSSGRenderExtension
\inmodule QtQuick3D
Definition
qssgrenderextensions.h:67
QSSGRenderExtension::RenderMode
RenderMode
Specifies the render extension mode.
Definition
qssgrenderextensions.h:70
QSSGRenderExtension::RenderStage
RenderStage
Specifies the order the extension will be called.
Definition
qssgrenderextensions.h:76
QSSGRenderGraphObject
Definition
qssgrendergraphobject.h:37
QSSGRenderHelpers
\inmodule QtQuick3D
Definition
qssgrenderhelpers.h:104
QSSGRhiGraphicsPipelineState
\inmodule QtQuick3D
Definition
qssgrhicontext.h:27
ctx
EGLContext ctx
Definition
dmabufserverbufferintegration.h:20
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:1590
mode
GLenum mode
Definition
qopengles2ext.h:333
data
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
Definition
qopengles2ext.h:206
buffer
GLenum GLuint buffer
Definition
qopengles2ext.h:659
texture
GLenum GLuint texture
Definition
qopengles2ext.h:416
QSSGCameraId
QSSGCameraId
Definition
qssgrenderbasetypes.h:22
QSSGRhiSamplerBindingHints::AoTexture
@ AoTexture
QSSGRhiSamplerBindingHints::DepthTexture
@ DepthTexture
QSSGRhiSamplerBindingHints::ScreenTexture
@ ScreenTexture
quint32
unsigned int quint32
Definition
qtypes.h:50
render
myWidget render(this)
QSSGFrameData::Result
Definition
qssgrenderextensions.h:40
qtquick3d
src
runtimerender
extensionapi
qssgrenderextensions.h
Generated by
1.10.0