4#include <QtQuick3DRuntimeRender/private/qssgrendereffect_p.h>
5#include <QtQuick3DRuntimeRender/private/qssgrenderlayer_p.h>
6#include <QtQuick3DRuntimeRender/private/qssgrendercommands_p.h>
7#include <QtQuick3DRuntimeRender/private/qssgrendercontextcore_p.h>
9#include <QtGui/QVector2D>
10#include <QtGui/QVector3D>
37 " qt_inputUV = attr_uv;\n"
38 " qt_textureUV = qt_effectTextureMapUV(attr_uv);\n"
39 " vec4 qt_vertPosition = vec4(attr_pos, 1.0);\n"
40 " qt_customMain(qt_vertPosition.xyz);\n";
43 " gl_Position = qt_modelViewProjection * qt_vertPosition;\n";
55 "#include \"tonemapping.glsllib\"\n"
59 " fragOutput = qt_tonemap(fragOutput);\n"
78 const bool isLastPass =
i == ie - 1;
79 const bool shouldTonemapIfEnabled = isLastEffect && isLastPass;
92 completeVertexShader = code;
93 sourceCodeForHash += code;
97 if (shouldTonemapIfEnabled)
101 completeFragmentShader = code;
102 sourceCodeForHash += code;
113 if (shouldTonemapIfEnabled) {
124 if (!completeVertexShader.
isEmpty()) {
127 completeVertexShader,
130 if (!completeFragmentShader.
isEmpty()) {
135 completeFragmentShader,
bool isEmpty() const noexcept
Returns true if the byte array has size 0; otherwise returns false.
static QByteArray number(int, int base=10)
Returns a byte-array representing the whole number n as text.
QByteArray & append(char c)
This is an overloaded member function, provided for convenience. It differs from the above function o...
static QByteArray hash(QByteArrayView data, Algorithm method)
Returns the hash of data using method.
bool isYUpInFramebuffer() const
const std::unique_ptr< QSSGRhiContext > & rhiContext() const
const std::shared_ptr< QSSGShaderLibraryManager > & shaderLibraryManager() const
static void setTonemapFeatures(QSSGShaderFeatures &features, QSSGRenderLayer::TonemapMode tonemapMode)
QString & append(QChar c)
Combined button and popup list for selecting options.
GLsizei const GLubyte * commands
static const char * effect_vertex_main_pre
static const char * effect_vertex_main_post
static const char * effect_fragment_main_with_tonemapping
static const char * effect_fragment_main
static const char * effect_vertex_main_position
QByteArray shaderPathKeyPrefix
QByteArray vertexShaderCode
QSSGCustomShaderMetaData vertexMetaData
QSSGCustomShaderMetaData fragmentMetaData
QByteArray fragmentShaderCode
struct QSSGRenderEffect::@750 shaderPrepData
QVector< Command > commands
void finalizeShaders(const QSSGRenderLayer &layer, QSSGRenderContextInterface *renderContext)
QSSGRenderEffect * m_nextEffect
std::underlying_type_t< Flags > FlagT