Spec-Zone.ru › Qt 6.1

Класс QShaderProgramBuilder

класс Qt3DRender::QShaderProgramBuilder

Генерирует содержимое программы шейдеров из загруженных графов. Подробнее...

Заголовок: #include <QShaderProgramBuilder>
CMake: find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
С момента: Qt 5.10
Создаётся из: ShaderProgramBuilder
Наследует: Qt3DCore::QNode
  • Список всех членов, включая унаследованные

Свойства

  • computeShaderCode : const QByteArray
  • computeShaderGraph : QUrl
  • enabledLayers : QStringList
  • fragmentShaderCode : const QByteArray
  • fragmentShaderGraph : QUrl
  • geometryShaderCode : const QByteArray
  • geometryShaderGraph : QUrl
  • shaderProgram : Qt3DRender::QShaderProgram*
  • tessellationControlShaderCode : const QByteArray
  • tessellationControlShaderGraph : QUrl
  • tessellationEvaluationShaderCode : const QByteArray
  • tessellationEvaluationShaderGraph : QUrl
  • vertexShaderCode : const QByteArray
  • vertexShaderGraph : QUrl

Открытые функции

QByteArray computeShaderCode() const
QUrl computeShaderGraph() const
QStringList enabledLayers() const
QByteArray fragmentShaderCode() const
QUrl fragmentShaderGraph() const
QByteArray geometryShaderCode() const
QUrl geometryShaderGraph() const
Qt3DRender::QShaderProgram * shaderProgram() const
QByteArray tessellationControlShaderCode() const
QUrl tessellationControlShaderGraph() const
QByteArray tessellationEvaluationShaderCode() const
QUrl tessellationEvaluationShaderGraph() const
QByteArray vertexShaderCode() const
QUrl vertexShaderGraph() const

Открытые слоты

void setComputeShaderGraph(const QUrl &computeShaderGraph)
void setEnabledLayers(const QStringList &layers)
void setFragmentShaderGraph(const QUrl &fragmentShaderGraph)
void setGeometryShaderGraph(const QUrl &geometryShaderGraph)
void setShaderProgram(Qt3DRender::QShaderProgram *program)
void setTessellationControlShaderGraph(const QUrl &tessellationControlShaderGraph)
void setTessellationEvaluationShaderGraph(const QUrl &tessellationEvaluationShaderGraph)
void setVertexShaderGraph(const QUrl &vertexShaderGraph)

Сигналы

void computeShaderCodeChanged(const QByteArray &computeShaderCode)
void computeShaderGraphChanged(const QUrl &computeShaderGraph)
void enabledLayersChanged(const QStringList &layers)
void fragmentShaderCodeChanged(const QByteArray &fragmentShaderCode)
void fragmentShaderGraphChanged(const QUrl &fragmentShaderGraph)
void geometryShaderCodeChanged(const QByteArray &geometryShaderCode)
void geometryShaderGraphChanged(const QUrl &geometryShaderGraph)
void shaderProgramChanged(Qt3DRender::QShaderProgram *shaderProgram)
void tessellationControlShaderCodeChanged(const QByteArray &tessellationControlShaderCode)
void tessellationControlShaderGraphChanged(const QUrl &tessellationControlShaderGraph)
void tessellationEvaluationShaderCodeChanged(const QByteArray &tessellationEvaluationShaderCode)
void tessellationEvaluationShaderGraphChanged(const QUrl &tessellationEvaluationShaderGraph)
void vertexShaderCodeChanged(const QByteArray &vertexShaderCode)
void vertexShaderGraphChanged(const QUrl &vertexShaderGraph)

Подробное описание

Построитель программы шейдеров состоит из нескольких различных графиков шейдеров, используемых для генерации кода шейдеров.

Сохраняется кэш сгенерированного кода шейдеров. Сгенерированные шейдеры по умолчанию сохраняются в QStandardPaths::writableLocation(QStandardPaths::TempLocation)). Этот путь можно переопределить, задав переменную окружения QT3D_WRITABLE_CACHE_PATH со значением допустимого пути для записи.

Использование кэша можно отключить, задав переменную окружения QT3D_DISABLE_SHADER_CACHE.

В большинстве случаев изменения, внесенные в график, распознаются Qt 3D, и будет сгенерирован новый элемент кэша. Один случай, когда этого не произойдет, — это случай, когда фрагменты кода, включенные в графики, изменены. Чтобы обойти эту проблему, можно очистить каталог кэша или установить переменную окружения QT3D_REBUILD_SHADER_CACHE, чтобы принудительно сгенерировать код шейдеров заново.

Документация свойств

[read-only, since 5.13] computeShaderCode : const QByteArray

Содержит сгенерированный код шейдера вычисления.

Это свойство было добавлено в Qt 5.13.

Функции доступа:

QByteArray computeShaderCode() const

Сигнал уведомления:

void computeShaderCodeChanged(const QByteArray &computeShaderCode)

computeShaderGraph : QUrl

Содержит URL-адрес графа шейдера вычисления, используемого этим создателем программы шейдеров.

Функции доступа:

QUrl computeShaderGraph() const
void setComputeShaderGraph(const QUrl &computeShaderGraph)

Сигнал уведомления:

void computeShaderGraphChanged(const QUrl &computeShaderGraph)

enabledLayers : QStringList

Содержит список слоёв, которые этот создатель активирует в графах шейдеров во время генерации кода.

Функции доступа:

QStringList enabledLayers() const
void setEnabledLayers(const QStringList &layers)

Сигнал уведомления:

void enabledLayersChanged(const QStringList &layers)

[read-only, since 5.13] fragmentShaderCode : const QByteArray

Содержит сгенерированный код фрагментного шейдера.

Это свойство было добавлено в Qt 5.13.

Функции доступа:

QByteArray fragmentShaderCode() const

Сигнал уведомления:

void fragmentShaderCodeChanged(const QByteArray &fragmentShaderCode)

fragmentShaderGraph : QUrl

Содержит URL-адрес графа фрагментного шейдера, используемого этим создателем программы шейдеров.

Функции доступа:

QUrl fragmentShaderGraph() const
void setFragmentShaderGraph(const QUrl &fragmentShaderGraph)

Сигнал уведомления:

void fragmentShaderGraphChanged(const QUrl &fragmentShaderGraph)

[read-only, since 5.13] geometryShaderCode : const QByteArray

Содержит сгенерированный код шейдера геометрии.

Это свойство было добавлено в Qt 5.13.

Функции доступа:

QByteArray geometryShaderCode() const

Сигнал уведомления:

void geometryShaderCodeChanged(const QByteArray &geometryShaderCode)

geometryShaderGraph : QUrl

Содержит URL-адрес графа шейдера геометрии, используемого этим создателем программы шейдеров.

Функции доступа:

QUrl geometryShaderGraph() const
void setGeometryShaderGraph(const QUrl &geometryShaderGraph)

Сигнал уведомления:

void geometryShaderGraphChanged(const QUrl &geometryShaderGraph)

shaderProgram : Qt3DRender::QShaderProgram*

Содержит программу шейдеров, для которой этот создатель генерирует код.

Функции доступа:

Qt3DRender::QShaderProgram * shaderProgram() const
void setShaderProgram(Qt3DRender::QShaderProgram *program)

Сигнал уведомления:

void shaderProgramChanged(Qt3DRender::QShaderProgram *shaderProgram)

[read-only, since 5.13] tessellationControlShaderCode : const QByteArray

Содержит сгенерированный код шейдера управления разбивкой.

Это свойство было добавлено в Qt 5.13.

Функции доступа:

QByteArray tessellationControlShaderCode() const

Сигнал уведомления:

void tessellationControlShaderCodeChanged(const QByteArray &tessellationControlShaderCode)

tessellationControlShaderGraph : QUrl

Содержит URL-адрес графа шейдера управления разбивкой, используемого этим создателем программы шейдеров.

Функции доступа:

QUrl tessellationControlShaderGraph() const
void setTessellationControlShaderGraph(const QUrl &tessellationControlShaderGraph)

Сигнал уведомления:

void tessellationControlShaderGraphChanged(const QUrl &tessellationControlShaderGraph)

[read-only, since 5.13] tessellationEvaluationShaderCode : const QByteArray

Содержит сгенерированный код шейдера оценки разбивки.

Это свойство было добавлено в Qt 5.13.

Функции доступа:

QByteArray tessellationEvaluationShaderCode() const

Сигнал уведомления:

void tessellationEvaluationShaderCodeChanged(const QByteArray &tessellationEvaluationShaderCode)

tessellationEvaluationShaderGraph : QUrl

Содержит URL-адрес графа шейдера оценки разбивки, используемого этим создателем программы шейдеров.

Функции доступа:

QUrl tessellationEvaluationShaderGraph() const
void setTessellationEvaluationShaderGraph(const QUrl &tessellationEvaluationShaderGraph)

Сигнал уведомления:

void tessellationEvaluationShaderGraphChanged(const QUrl &tessellationEvaluationShaderGraph)

[read-only, since 5.13] vertexShaderCode : const QByteArray

Содержит сгенерированный код вершинного шейдера.

Это свойство было добавлено в Qt 5.13.

Функции доступа:

QByteArray vertexShaderCode() const

Сигнал уведомления:

void vertexShaderCodeChanged(const QByteArray &vertexShaderCode)

vertexShaderGraph : QUrl

Содержит URL графика вершинного шейдера, используемого этим строителем программы шейдеров.

Функции доступа:

QUrl vertexShaderGraph() const
void setVertexShaderGraph(const QUrl &vertexShaderGraph)

Сигнал уведомления:

void vertexShaderGraphChanged(const QUrl &vertexShaderGraph)

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qt3drender-qshaderprogrambuilder.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API