En esta página

Qt3DExtras::QNormalDiffuseSpecularMapMaterial Class

class Qt3DExtras::QNormalDiffuseSpecularMapMaterial

El QNormalDiffuseSpecularMapMaterial proporciona una implementación por defecto del efecto de iluminación phong y bump donde los componentes de luz difusa y especular se leen de mapas de textura y las normales de la malla que se renderiza de un mapa de textura normal. Más...

Cabecera: #include <QNormalDiffuseSpecularMapMaterial>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3dextras)
target_link_libraries(mytarget PRIVATE Qt6::3dextras)
qmake: QT += 3dextras
Hereda: Qt3DRender::QMaterial
Status: Obsoleto

Esta clase está obsoleta. Desaconsejamos su uso en código nuevo.

Propiedades

Funciones públicas

QNormalDiffuseSpecularMapMaterial(Qt3DCore::QNode *parent = nullptr)
virtual ~QNormalDiffuseSpecularMapMaterial()
QColor ambient() const
Qt3DRender::QAbstractTexture *diffuse() const
Qt3DRender::QAbstractTexture *normal() const
float shininess() const
Qt3DRender::QAbstractTexture *specular() const
float textureScale() const

Ranuras públicas

void setAmbient(const QColor &ambient)
void setDiffuse(Qt3DRender::QAbstractTexture *diffuse)
void setNormal(Qt3DRender::QAbstractTexture *normal)
void setShininess(float shininess)
void setSpecular(Qt3DRender::QAbstractTexture *specular)
void setTextureScale(float textureScale)

Señales

void ambientChanged(const QColor &ambient)
void diffuseChanged(Qt3DRender::QAbstractTexture *diffuse)
void normalChanged(Qt3DRender::QAbstractTexture *normal)
void shininessChanged(float shininess)
void specularChanged(Qt3DRender::QAbstractTexture *specular)
void textureScaleChanged(float textureScale)

Descripción detallada

Esta clase está obsoleta; utilice QDiffuseSpecularMaterial en su lugar.

El efecto de iluminación especular se basa en la combinación de 3 componentes de iluminación ambiental, difusa y especular. La intensidad relativa de estos componentes se controla mediante sus coeficientes de reflectividad, que se modelan como tripletes RGB:

  • Ambiente es el color que emite un objeto sin ninguna otra fuente de luz.
  • Difuso es el color emitido por los reflejos de la superficie con las luces.
  • Especular es el color que se emite para los reflejos brillantes de la superficie con las luces.
  • El brillo de una superficie se controla mediante una propiedad float.

Este material utiliza un efecto con un enfoque de una sola pasada de renderizado y realiza la iluminación por fragmento. Se proporcionan técnicas para OpenGL 2, OpenGL 3 o superior así como OpenGL ES 2.

Documentación de propiedades

ambient : QColor

Mantiene el color ambiente actual.

Funciones de acceso:

QColor ambient() const
void setAmbient(const QColor &ambient)

Señal de aviso:

void ambientChanged(const QColor &ambient)

diffuse : Qt3DRender::QAbstractTexture*

Contiene la textura actual del mapa difuso.

Por defecto, la textura difusa tiene las siguientes propiedades:

  • Filtros de minificación y magnificación lineales
  • Mipmap lineal con mipmapping activado
  • Modo de envoltura de repetición
  • Anisotropía máxima de 16.0

Funciones de acceso:

Qt3DRender::QAbstractTexture *diffuse() const
void setDiffuse(Qt3DRender::QAbstractTexture *diffuse)

Señal notificadora:

void diffuseChanged(Qt3DRender::QAbstractTexture *diffuse)

normal : Qt3DRender::QAbstractTexture*

Contiene la textura actual del mapa de normales.

Por defecto, la textura normal tiene las siguientes propiedades:

  • Filtros de reducción y aumento lineal
  • Modo de envoltura de repetición
  • Anisotropía máxima de 16.0

Funciones de acceso:

Qt3DRender::QAbstractTexture *normal() const
void setNormal(Qt3DRender::QAbstractTexture *normal)

Señal notificadora:

void normalChanged(Qt3DRender::QAbstractTexture *normal)

shininess : float

Mantiene el brillo actual como un valor flotante.

Funciones de acceso:

float shininess() const
void setShininess(float shininess)

Señal del notificador:

void shininessChanged(float shininess)

specular : Qt3DRender::QAbstractTexture*

Contiene la textura actual del mapa especular.

Por defecto, la textura especular tiene las siguientes propiedades:

  • Filtros de minificación y magnificación lineales
  • Mipmap lineal con mipmapping activado
  • Modo de envoltura de repetición
  • Anisotropía máxima de 16.0

Funciones de acceso:

Qt3DRender::QAbstractTexture *specular() const
void setSpecular(Qt3DRender::QAbstractTexture *specular)

Señal notificadora:

void specularChanged(Qt3DRender::QAbstractTexture *specular)

textureScale : float

Mantiene la escala actual de la textura. Se aplica como un multiplicador a las coordenadas de la textura en tiempo de renderizado. Por defecto es 1.0.

Cuando se utiliza junto con QTextureWrapMode::Repeat, textureScale proporciona una forma sencilla de mosaico de una textura a través de una superficie. Por ejemplo, una escala de textura de 4.0 resultaría en 16 (4x4) mosaicos.

Funciones de acceso:

float textureScale() const
void setTextureScale(float textureScale)

Señal notificadora:

void textureScaleChanged(float textureScale)

Documentación de la función miembro

[explicit] QNormalDiffuseSpecularMapMaterial::QNormalDiffuseSpecularMapMaterial(Qt3DCore::QNode *parent = nullptr)

Construye una nueva instancia de QNormalDiffuseSpecularMapMaterial con el objeto padre parent.

[virtual noexcept] QNormalDiffuseSpecularMapMaterial::~QNormalDiffuseSpecularMapMaterial()

Destruye la instancia QNormalDiffuseSpecularMapMaterial.

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