5#ifndef QSSG_RENDER_DYNAMIC_OBJECT_SYSTEM_H
6#define QSSG_RENDER_DYNAMIC_OBJECT_SYSTEM_H
19#include <QtQuick3DUtils/private/qssgrenderbasetypes_p.h>
20#include <QtQuick3DUtils/private/qqsbcollection_p.h>
22#include <QtQuick3DRuntimeRender/private/qssgrendershadercache_p.h>
23#include <QtQuick3DRuntimeRender/private/qssgrendergraphobject_p.h>
24#include <QtQuick3DRuntimeRender/private/qssgrendershaderkeys_p.h>
26#include <QtGui/QVector2D>
28#include <QtCore/QString>
29#include <QtCore/QReadWriteLock>
33class QSSGRenderContextInterface;
60 Q_DECLARE_FLAGS(Flags,
Flag)
71 Q_DISABLE_COPY(QSSGShaderLibraryManager)
73 typedef QHash<QByteArray, QByteArray> TPathDataMap;
89 ~QSSGShaderLibraryManager();
91 void setShaderSource(
const QByteArray &inShaderPathKey, QSSGShaderCache::ShaderType type,
97 void resolveIncludeFiles(QByteArray &theReadBuffer,
const QByteArray &inMaterialInfoString);
105 static bool compare(
const QSSGShaderDefaultMaterialKey &key1,
const QSSGShaderDefaultMaterialKey &key2);
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()
QByteArray getIncludeContents(const QByteArray &inShaderPathKey)
void resolveIncludeFiles(QByteArray &theReadBuffer, const QByteArray &inMaterialInfoString)
QQsbCollection::EntryMap m_preGeneratedShaderEntries
QSSGShaderLibraryManager()
void setShaderCodeLibraryVersion(const QByteArray &version)
static QByteArray copyrightHeaderStart()
static QByteArray includeSearch()
static QByteArray copyrightHeaderEnd()
static char stageKey(QSSGShaderCache::ShaderType type)