En esta página

QShaderVersion Class

Especifica la versión del lenguaje de sombreado. Más...

Cabecera: #include <QShaderVersion>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Desde: Qt 6.6

Tipos Públicos

enum Flag { GlslEs }
flags Flags

Funciones Públicas

QShaderVersion()
QShaderVersion(int v, QShaderVersion::Flags f = Flags())
QShaderVersion::Flags flags() const
void setFlags(QShaderVersion::Flags f)
void setVersion(int v)
int version() const
bool operator!=(const QShaderVersion &lhs, const QShaderVersion &rhs)
bool operator<(const QShaderVersion &lhs, const QShaderVersion &rhs)
bool operator==(const QShaderVersion &lhs, const QShaderVersion &rhs)

Descripción detallada

Mientras que lenguajes como SPIR-V o Metal Shading Language utilizan números de versión tradicionales, los shaders para otras APIs pueden utilizar esquemas de versionado ligeramente diferentes. Sin embargo, aquí todos ellos se asignan a un único número de versión. Para HLSL, la versión se refiere a la versión del modelo de sombreado, como 5.0, 5.1 o 6.0. Para GLSL se necesita una bandera adicional para elegir entre GLSL y GLSL/ES.

A continuación se muestra una lista con los ejemplos más comunes de versiones de shaders para diferentes APIs gráficas:

  • Vulkan (SPIR-V): 100
  • OpenGL: 120, 330, 440, etc.
  • OpenGL ES: 100 con GlslEs, 300 con GlslEs, etc.
  • Direct3D: 50, 51, 60
  • Metal: 12, 20

Un QShaderVersion construido por defecto contiene una versión de 100 y ninguna bandera establecida.

Nota: Esta es una API RHI con garantías de compatibilidad limitadas, ver QShader para más detalles.

Documentación de tipos de miembros

enum QShaderVersion::Flag
flags QShaderVersion::Flags

Describe las banderas que se pueden establecer.

ConstanteValorDescripción
QShaderVersion::GlslEs0x01Indica que GLSL/ES se entiende en combinación con GlslShader

El tipo Flags es un typedef para QFlags<Flag>. Almacena una combinación OR de valores Flag.

Documentación de Funciones Miembro

[constexpr noexcept] QShaderVersion::QShaderVersion()

QShaderVersion::QShaderVersion(int v, QShaderVersion::Flags f = Flags())

Construye un nuevo QShaderVersion con la versión v y las banderas f.

QShaderVersion::Flags QShaderVersion::flags() const

Devuelve las banderas.

Véase también setFlags().

void QShaderVersion::setFlags(QShaderVersion::Flags f)

Establece las banderas f.

Véase también flags().

void QShaderVersion::setVersion(int v)

Establece la versión del lenguaje de sombreado en v.

Véase también version().

int QShaderVersion::version() const

Devuelve la versión.

Véase también setVersion().

Relacionados No miembros

[noexcept] bool operator!=(const QShaderVersion &lhs, const QShaderVersion &rhs)

Devuelve false si los valores de los dos objetos QShaderVersion lhs y rhs son iguales; en caso contrario devuelve true.

[noexcept] bool operator<(const QShaderVersion &lhs, const QShaderVersion &rhs)

Devuelve true si lhs es menor que rhs.

Establece un orden de clasificación entre los dos QShaderVersion lhs y rhs.

[noexcept] bool operator==(const QShaderVersion &lhs, const QShaderVersion &rhs)

Devuelve true si los dos objetos QShaderVersion lhs y rhs son iguales.

© 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.