7#ifndef QSSG_RENDER_DYNAMIC_OBJECT_SYSTEM_H
8#define QSSG_RENDER_DYNAMIC_OBJECT_SYSTEM_H
21#include <QtQuick3DUtils/private/qssgrenderbasetypes_p.h>
22#include <QtQuick3DUtils/private/qqsbcollection_p.h>
24#include <QtQuick3DRuntimeRender/private/qssgrendershadercache_p.h>
25#include <QtQuick3DRuntimeRender/private/qssgrendergraphobject_p.h>
26#include <QtQuick3DRuntimeRender/private/qssgrendershaderkeys_p.h>
28#include <QtGui/QVector2D>
30#include <QtCore/QString>
31#include <QtCore/QReadWriteLock>
35class QSSGRenderContextInterface;
63 Q_DECLARE_FLAGS(Flags,
Flag)
74 Q_DISABLE_COPY(QSSGShaderLibraryManager)
76 typedef QHash<QByteArray, QByteArray> TPathDataMap;
92 ~QSSGShaderLibraryManager();
96 void setShaderSource(
const QByteArray &inShaderPathKey, QSSGShaderCache::ShaderType type,
102 void resolveIncludeFiles(QByteArray &theReadBuffer,
const QByteArray &inMaterialInfoString);
110 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
QQsbCollection::EntryMap getParticleShaderEntries() const
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)
Combined button and popup list for selecting options.
static QByteArray copyrightHeaderStart()
static QByteArray includeSearch()
static QByteArray copyrightHeaderEnd()
static char stageKey(QSSGShaderCache::ShaderType type)