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>.
|
#include <qssgrendershaderlibrarymanager_p.h>
Public Types | |
typedef QHash< QByteArray, QByteArray > | TPathDataMap |
typedef QSet< QString > | TPathSet |
Public Member Functions | |
QSSGShaderLibraryManager () | |
~QSSGShaderLibraryManager () | |
void | setShaderSource (const QByteArray &inShaderPathKey, QSSGShaderCache::ShaderType type, const QByteArray &inSource, const QSSGCustomShaderMetaData &meta) |
void | loadPregeneratedShaderInfo () |
void | resolveIncludeFiles (QByteArray &theReadBuffer, const QByteArray &inMaterialInfoString) |
QByteArray | getIncludeContents (const QByteArray &inShaderPathKey) |
QByteArray | getShaderSource (const QByteArray &inShaderPathKey, QSSGShaderCache::ShaderType type) |
QSSGCustomShaderMetaData | getShaderMetaData (const QByteArray &inShaderPathKey, QSSGShaderCache::ShaderType type) |
void | setShaderCodeLibraryVersion (const QByteArray &version) |
Static Public Member Functions | |
static QString | getShaderCodeLibraryDirectory () |
static bool | compare (const QSSGShaderDefaultMaterialKey &key1, const QSSGShaderDefaultMaterialKey &key2) |
Definition at line 66 of file qssgrendershaderlibrarymanager_p.h.
Definition at line 70 of file qssgrendershaderlibrarymanager_p.h.
Definition at line 71 of file qssgrendershaderlibrarymanager_p.h.
|
explicit |
Definition at line 26 of file qssgrendershaderlibrarymanager.cpp.
QSSGShaderLibraryManager::~QSSGShaderLibraryManager | ( | ) |
Definition at line 28 of file qssgrendershaderlibrarymanager.cpp.
|
static |
Definition at line 187 of file qssgrendershaderlibrarymanager.cpp.
References calcLightPoint(), COMPARE_PROP, i, QSSGShaderDefaultMaterialKeyProperties::ImageMapCount, QSSGShaderDefaultMaterialKeyProperties::LightCount, and QSSGShaderDefaultMaterialKeyProperties::SingleChannelImageCount.
QByteArray QSSGShaderLibraryManager::getIncludeContents | ( | const QByteArray & | inShaderPathKey | ) |
Definition at line 97 of file qssgrendershaderlibrarymanager.cpp.
References QHash< Key, T >::cend(), QHash< Key, T >::constFind(), QString::fromLocal8Bit(), getShaderCodeLibraryDirectory(), QSSGInputUtil::getStreamForFile(), QHash< Key, T >::insert(), m_expandedFiles, m_lock, Q_ASSERT, QByteArrayLiteral, qCCritical, qPrintable, and resolveIncludeFiles().
Referenced by resolveIncludeFiles().
|
static |
Definition at line 18 of file qssgrendershaderlibrarymanager.cpp.
References QStringLiteral.
Referenced by getIncludeContents().
QSSGCustomShaderMetaData QSSGShaderLibraryManager::getShaderMetaData | ( | const QByteArray & | inShaderPathKey, |
QSSGShaderCache::ShaderType | type ) |
Definition at line 156 of file qssgrendershaderlibrarymanager.cpp.
References QHash< Key, T >::cend(), QHash< Key, T >::constFind(), it, m_lock, m_metadata, qWarning, and stageKey().
Referenced by QSSGShaderCustomMaterialAdapter::hasCustomShaderFunction().
QByteArray QSSGShaderLibraryManager::getShaderSource | ( | const QByteArray & | inShaderPathKey, |
QSSGShaderCache::ShaderType | type ) |
Definition at line 143 of file qssgrendershaderlibrarymanager.cpp.
References QHash< Key, T >::cend(), QHash< Key, T >::constFind(), it, m_expandedFiles, m_lock, QByteArray(), qWarning, and stageKey().
Referenced by QSSGShaderCustomMaterialAdapter::customShaderSnippet().
void QSSGShaderLibraryManager::loadPregeneratedShaderInfo | ( | ) |
Definition at line 169 of file qssgrendershaderlibrarymanager.cpp.
References QFile::exists(), file, QString::fromLatin1(), m_preGeneratedShaderEntries, QQsbIODeviceCollection::Read, QSSGShaderCache::resourceFolder(), and QSSGShaderCache::shaderCollectionFile().
void QSSGShaderLibraryManager::resolveIncludeFiles | ( | QByteArray & | theReadBuffer, |
const QByteArray & | inMaterialInfoString ) |
Definition at line 66 of file qssgrendershaderlibrarymanager.cpp.
References contents, copyrightHeaderEnd(), copyrightHeaderStart(), getIncludeContents(), includeSearch(), QByteArrayLiteral, and qCCritical.
Referenced by QSSGProgramGenerator::compileGeneratedRhiShader(), and getIncludeContents().
void QSSGShaderLibraryManager::setShaderCodeLibraryVersion | ( | const QByteArray & | version | ) |
void QSSGShaderLibraryManager::setShaderSource | ( | const QByteArray & | inShaderPathKey, |
QSSGShaderCache::ShaderType | type, | ||
const QByteArray & | inSource, | ||
const QSSGCustomShaderMetaData & | meta ) |
Definition at line 43 of file qssgrendershaderlibrarymanager.cpp.
References QHash< Key, T >::end(), QHash< Key, T >::find(), QHash< Key, T >::insert(), it, m_expandedFiles, m_lock, m_metadata, and stageKey().
TPathDataMap QSSGShaderLibraryManager::m_expandedFiles |
Definition at line 73 of file qssgrendershaderlibrarymanager_p.h.
Referenced by getIncludeContents(), getShaderSource(), and setShaderSource().
QByteArray QSSGShaderLibraryManager::m_fragShader |
Definition at line 76 of file qssgrendershaderlibrarymanager_p.h.
QReadWriteLock QSSGShaderLibraryManager::m_lock |
Definition at line 80 of file qssgrendershaderlibrarymanager_p.h.
Referenced by getIncludeContents(), getShaderMetaData(), getShaderSource(), and setShaderSource().
QHash<QByteArray, QSSGCustomShaderMetaData> QSSGShaderLibraryManager::m_metadata |
Definition at line 74 of file qssgrendershaderlibrarymanager_p.h.
Referenced by getShaderMetaData(), and setShaderSource().
QQsbCollection::EntryMap QSSGShaderLibraryManager::m_preGeneratedShaderEntries |
Definition at line 78 of file qssgrendershaderlibrarymanager_p.h.
Referenced by QSSGRendererPrivate::generateRhiShaderPipelineImpl(), and loadPregeneratedShaderInfo().
QByteArray QSSGShaderLibraryManager::m_vertShader |
Definition at line 75 of file qssgrendershaderlibrarymanager_p.h.