Qt3DRender::QShaderProgramBuilder Class
class Qt3DRender::QShaderProgramBuilderGenera el contenido de un programa de sombreado a partir de los gráficos cargados. Más...
| Cabecera: | #include <QShaderProgramBuilder> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender)target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| En QML: | ShaderProgramBuilder |
| Hereda: | Qt3DCore::QNode |
| Status: | Obsoleto |
Propiedades
|
|
Funciones públicas
| 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 |
Ranuras públicas
| 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) |
Señales
| 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) |
Descripción detallada
Un constructor de programas de sombreado consiste en varios gráficos de sombreado diferentes utilizados para generar código de sombreado.
Se mantiene una caché del código shader generado. Los shaders generados se guardan por defecto en QStandardPaths::writableLocation(QStandardPaths::TempLocation)). Esta ruta puede anularse estableciendo la variable de entorno QT3D_WRITABLE_CACHE_PATH en una ruta válida con permisos de escritura.
El uso de la caché puede desactivarse configurando la variable de entorno QT3D_DISABLE_SHADER_CACHE.
En la mayoría de los casos, los cambios realizados en un gráfico son detectados por Qt 3D y se generará una nueva entrada en la caché. Un caso en el que esto no ocurre es cuando se cambian fragmentos de código incluidos en un gráfico. Para evitarlo, se puede borrar el directorio de la caché o establecer la variable de entorno QT3D_REBUILD_SHADER_CACHE para forzar que el código del shader se genere de nuevo.
Documentación de propiedades
[read-only] computeShaderCode : QByteArray
Contiene el código de generación del sombreador.
Funciones de acceso:
| QByteArray | computeShaderCode() const |
Señal notificadora:
| void | computeShaderCodeChanged(const QByteArray &computeShaderCode) |
computeShaderGraph : QUrl
Contiene la URL del gráfico de sombreado de cálculo utilizado por este constructor de programas de sombreado.
Funciones de acceso:
| QUrl | computeShaderGraph() const |
| void | setComputeShaderGraph(const QUrl &computeShaderGraph) |
Señal de notificador:
| void | computeShaderGraphChanged(const QUrl &computeShaderGraph) |
enabledLayers : QStringList
Contiene la lista de capas que este constructor activará en los gráficos de sombreado durante la generación de código.
Funciones de acceso:
| QStringList | enabledLayers() const |
| void | setEnabledLayers(const QStringList &layers) |
Señal de notificador:
| void | enabledLayersChanged(const QStringList &layers) |
[read-only] fragmentShaderCode : QByteArray
Contiene el código de generación del fragment shader.
Funciones de acceso:
| QByteArray | fragmentShaderCode() const |
Señal notificadora:
| void | fragmentShaderCodeChanged(const QByteArray &fragmentShaderCode) |
fragmentShaderGraph : QUrl
Contiene la URL del gráfico de sombreado de fragmentos utilizado por este constructor de programas de sombreado.
Funciones de acceso:
| QUrl | fragmentShaderGraph() const |
| void | setFragmentShaderGraph(const QUrl &fragmentShaderGraph) |
Señal de notificador:
| void | fragmentShaderGraphChanged(const QUrl &fragmentShaderGraph) |
[read-only] geometryShaderCode : QByteArray
Contiene el código de generación del sombreador geométrico.
Funciones de acceso:
| QByteArray | geometryShaderCode() const |
Señal notificadora:
| void | geometryShaderCodeChanged(const QByteArray &geometryShaderCode) |
geometryShaderGraph : QUrl
Contiene la URL del gráfico de sombreado geométrico utilizado por este constructor de programas de sombreado.
Funciones de acceso:
| QUrl | geometryShaderGraph() const |
| void | setGeometryShaderGraph(const QUrl &geometryShaderGraph) |
Señal de notificador:
| void | geometryShaderGraphChanged(const QUrl &geometryShaderGraph) |
shaderProgram : Qt3DRender::QShaderProgram*
Contiene el programa de sombreado en el que este constructor genera el código.
Funciones de acceso:
| Qt3DRender::QShaderProgram * | shaderProgram() const |
| void | setShaderProgram(Qt3DRender::QShaderProgram *program) |
Señal del notificador:
| void | shaderProgramChanged(Qt3DRender::QShaderProgram *shaderProgram) |
[read-only] tessellationControlShaderCode : QByteArray
Contiene el código del shader de control de teselación.
Funciones de acceso:
| QByteArray | tessellationControlShaderCode() const |
Señal notificadora:
| void | tessellationControlShaderCodeChanged(const QByteArray &tessellationControlShaderCode) |
tessellationControlShaderGraph : QUrl
Contiene la URL del gráfico del sombreador de control de teselación utilizado por este constructor de programas de sombreado.
Funciones de acceso:
| QUrl | tessellationControlShaderGraph() const |
| void | setTessellationControlShaderGraph(const QUrl &tessellationControlShaderGraph) |
Señal de notificador:
| void | tessellationControlShaderGraphChanged(const QUrl &tessellationControlShaderGraph) |
[read-only] tessellationEvaluationShaderCode : QByteArray
Contiene el código del shader de evaluación de teselación.
Funciones de acceso:
| QByteArray | tessellationEvaluationShaderCode() const |
Señal notificadora:
| void | tessellationEvaluationShaderCodeChanged(const QByteArray &tessellationEvaluationShaderCode) |
tessellationEvaluationShaderGraph : QUrl
Contiene la URL del gráfico del sombreador de evaluación de teselación utilizado por este constructor de programas de sombreado.
Funciones de acceso:
| QUrl | tessellationEvaluationShaderGraph() const |
| void | setTessellationEvaluationShaderGraph(const QUrl &tessellationEvaluationShaderGraph) |
Señal de notificador:
| void | tessellationEvaluationShaderGraphChanged(const QUrl &tessellationEvaluationShaderGraph) |
[read-only] vertexShaderCode : QByteArray
Contiene el código de generación del sombreador de vértices.
Funciones de acceso:
| QByteArray | vertexShaderCode() const |
Señal notificadora:
| void | vertexShaderCodeChanged(const QByteArray &vertexShaderCode) |
vertexShaderGraph : QUrl
Contiene la URL del gráfico del sombreador de vértices utilizado por este constructor de programas de sombreado.
Funciones de acceso:
| QUrl | vertexShaderGraph() const |
| void | setVertexShaderGraph(const QUrl &vertexShaderGraph) |
Señal de notificador:
| void | vertexShaderGraphChanged(const QUrl &vertexShaderGraph) |
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.