7#include <QtQuick3DRuntimeRender/private/qssgrendercontextcore_p.h>
8#include <QtQuick3DRuntimeRender/private/qssgrenderloadedtexture_p.h>
10#include <QXmlStreamReader>
12#include <QCryptographicHash>
14#include <QtQuick3DRuntimeRender/private/qssgruntimerenderlogging_p.h>
52 it.value() = inSource;
73 if (theEndQuote == -1) {
74 qCCritical(INVALID_OPERATION,
"Unterminated include in file: %s", inMaterialInfoString.
constData());
75 theReadBuffer.
clear();
79 const auto &theInclude = theReadBuffer.
mid(theActualBegin, theEndQuote - theActualBegin);
93 theReadBuffer = theReadBuffer.
replace(thePos, (theEndQuote + 1) - thePos,
contents);
120 if (!theStream.
isNull()) {
124 amountRead = theStream->read(readBuf, 1024);
126 theReadBuffer.
append(readBuf,
int(amountRead));
127 }
while (amountRead);
134 theReadBuffer = theInsert.value();
140 return theReadBuffer;
190#define COMPARE_PROP(x) \
191 if (props.x.getValue(key1) < props.x.getValue(key2)) return true;
qsizetype size() const noexcept
Returns the number of bytes in this byte array.
const char * constData() const noexcept
Returns a pointer to the const data stored in the byte array.
qsizetype indexOf(char c, qsizetype from=0) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
void clear()
Clears the contents of the byte array and makes it null.
QByteArray & append(char c)
This is an overloaded member function, provided for convenience. It differs from the above function o...
QByteArray mid(qsizetype index, qsizetype len=-1) const
Returns a byte array containing len bytes from this byte array, starting at position pos.
QByteArray & replace(qsizetype index, qsizetype len, const char *s, qsizetype alen)
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool exists() const
This is an overloaded member function, provided for convenience. It differs from the above function o...
const_iterator constFind(const Key &key) const noexcept
iterator find(const Key &key)
Returns an iterator pointing to the item with the key in the hash.
iterator end() noexcept
Returns an \l{STL-style iterators}{STL-style iterator} pointing to the imaginary item after the last ...
const_iterator cend() const noexcept
iterator insert(const Key &key, const T &value)
Inserts a new item with the key and a value of value.
EntryMap availableEntries() const override
static QByteArray shaderCollectionFile()
static QByteArray resourceFolder()
QSSGCustomShaderMetaData getShaderMetaData(const QByteArray &inShaderPathKey, QSSGShaderCache::ShaderType type)
void loadPregeneratedShaderInfo()
void setShaderSource(const QByteArray &inShaderPathKey, QSSGShaderCache::ShaderType type, const QByteArray &inSource, const QSSGCustomShaderMetaData &meta)
QByteArray getShaderSource(const QByteArray &inShaderPathKey, QSSGShaderCache::ShaderType type)
static bool compare(const QSSGShaderDefaultMaterialKey &key1, const QSSGShaderDefaultMaterialKey &key2)
QHash< QByteArray, QSSGCustomShaderMetaData > m_metadata
TPathDataMap m_expandedFiles
static QString getShaderCodeLibraryDirectory()
~QSSGShaderLibraryManager()
QByteArray getIncludeContents(const QByteArray &inShaderPathKey)
void resolveIncludeFiles(QByteArray &theReadBuffer, const QByteArray &inMaterialInfoString)
QQsbCollection::EntryMap m_preGeneratedShaderEntries
QSSGShaderLibraryManager()
bool isNull() const noexcept
Returns true if this object refers to \nullptr.
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromLatin1(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
static QString fromLocal8Bit(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
void clear()
Clears the contents of the string and makes it null.
QSet< QString >::iterator it
Combined button and popup list for selecting options.
#define QByteArrayLiteral(str)
#define qCCritical(category,...)
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLenum GLuint GLsizei const GLenum * props
GLuint64EXT GLuint GLuint GLenum GLenum GLuint GLuint GLenum GLuint GLuint key1
static QByteArray copyrightHeaderStart()
static int calcLightPoint(const QSSGShaderDefaultMaterialKey &key, int i)
static QByteArray includeSearch()
static QByteArray copyrightHeaderEnd()
static char stageKey(QSSGShaderCache::ShaderType type)
#define qPrintable(string)
#define QStringLiteral(str)
\inmodule QtCore \reentrant
QSSGShaderKeyBoolean m_lightSpotFlags[LightCount]
QSSGShaderKeyBoolean m_lightAreaFlags[LightCount]
@ SingleChannelImageCount
QSSGShaderKeyBoolean m_lightFlags[LightCount]
QSSGShaderKeyBoolean m_lightShadowFlags[LightCount]
bool getValue(QSSGDataView< quint32 > inDataStore) const