Qt3DExtras::QGoochMaterial Class
class Qt3DExtras::QGoochMaterialEl QGoochMaterial proporciona un material que implementa el modelo de sombreado Gooch, popular en aplicaciones CAD y CAM. Más...
| Cabecera: | #include <QGoochMaterial> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3dextras)target_link_libraries(mytarget PRIVATE Qt6::3dextras) |
| qmake: | QT += 3dextras |
| Hereda: | Qt3DRender::QMaterial |
| Status: | Obsoleto |
Propiedades
Funciones públicas
| QGoochMaterial(Qt3DCore::QNode *parent = nullptr) | |
| float | alpha() const |
| float | beta() const |
| QColor | cool() const |
| QColor | diffuse() const |
| float | shininess() const |
| QColor | specular() const |
| QColor | warm() const |
Ranuras públicas
| void | setAlpha(float alpha) |
| void | setBeta(float beta) |
| void | setCool(const QColor &cool) |
| void | setDiffuse(const QColor &diffuse) |
| void | setShininess(float shininess) |
| void | setSpecular(const QColor &specular) |
| void | setWarm(const QColor &warm) |
Señales
| void | alphaChanged(float alpha) |
| void | betaChanged(float beta) |
| void | coolChanged(const QColor &cool) |
| void | diffuseChanged(const QColor &diffuse) |
| void | shininessChanged(float shininess) |
| void | specularChanged(const QColor &specular) |
| void | warmChanged(const QColor &warm) |
Descripción detallada
El modelo de iluminación Gooch utiliza tanto el color como el brillo para ayudar a mostrar la curvatura de las superficies 3D. Esto suele ser mejor que modelos como Phong, que se basan exclusivamente en los cambios de brillo. En situaciones como en aplicaciones CAD y CAM donde el fotorrealismo no es un objetivo, el modelo de sombreado Gooch junto con algún tipo de entintado de bordes de silueta es una solución popular.
El modelo de iluminación de Gooch se explica en detalle en el artículo original de Gooch. El modelo Gooch mezcla un color difuso del objeto con un color frío y un color cálido proporcionados por el usuario para producir los puntos finales de una rampa de color que se utiliza para sombrear el objeto basándose en el coseno del ángulo entre el vector del fragmento a la fuente de luz y el vector normal del fragmento. Opcionalmente, se puede añadir un brillo especular. Las contribuciones relativas a los colores frío y cálido del color difuso se controlan mediante las propiedades alfa y beta respectivamente.
Este material utiliza un efecto con un enfoque de una sola pasada de renderizado y realiza una iluminación por fragmento. Se proporcionan técnicas para OpenGL 2, OpenGL 3 o superior, así como OpenGL ES 2.
Documentación de propiedades
alpha : float
Mantiene el valor alfa actual. El punto de inicio de la rampa de color utilizada por el sombreador Gooch se calcula como {c = cool + alpha * diffuse}.
Funciones de acceso:
| float | alpha() const |
| void | setAlpha(float alpha) |
Señal notificadora:
| void | alphaChanged(float alpha) |
beta : float
Mantiene el valor beta actual. El punto de inicio de la rampa de color utilizada por el sombreador Gooch se calcula como {c = cálido + beta * difuso}.
Funciones de acceso:
| float | beta() const |
| void | setBeta(float beta) |
Señal notificadora:
| void | betaChanged(float beta) |
cool : QColor
Mantiene el color frío actual.
Funciones de acceso:
| QColor | cool() const |
| void | setCool(const QColor &cool) |
Señal de aviso:
| void | coolChanged(const QColor &cool) |
diffuse : QColor
Mantiene el color difuso actual.
Funciones de acceso:
| QColor | diffuse() const |
| void | setDiffuse(const QColor &diffuse) |
Señal de aviso:
| void | diffuseChanged(const QColor &diffuse) |
shininess : float
Mantiene el valor de brillo actual. Los valores más altos de brillo dan como resultado un realce más pequeño y brillante.
Funciones de acceso:
| float | shininess() const |
| void | setShininess(float shininess) |
Señal de aviso:
| void | shininessChanged(float shininess) |
specular : QColor
Mantiene el color especular actual.
Funciones de acceso:
| QColor | specular() const |
| void | setSpecular(const QColor &specular) |
Señal del notificador:
| void | specularChanged(const QColor &specular) |
warm : QColor
Mantiene el color cálido actual.
Funciones de acceso:
| QColor | warm() const |
| void | setWarm(const QColor &warm) |
Señal del notificador:
| void | warmChanged(const QColor &warm) |
Documentación de la función miembro
[explicit] QGoochMaterial::QGoochMaterial(Qt3DCore::QNode *parent = nullptr)
Construye una nueva instancia de QGoochMaterial con el objeto padre parent.
© 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.