QNormalDiffuseMapMaterial 类
class Qt3DExtras::QNormalDiffuseMapMaterialQNormalDiffuseMapMaterial 提供了 phong 光照和凹凸效果的默认实现,其中漫反射光成分从纹理图读取,而渲染网格的法线则从法线纹理图读取。更多...
头文件 | #include <QNormalDiffuseMapMaterial> |
CMake | find_package(Qt6 REQUIRED COMPONENTS 3dextras) target_link_libraries(mytarget PRIVATE Qt6::3dextras) |
qmake | QT += 3dextras |
继承自 | Qt3DRender::QMaterial |
继承类 | |
状态 | 弃用 |
此类已被弃用。我们强烈建议不要在新代码中使用它。
属性
|
公共函数
QNormalDiffuseMapMaterial(Qt3DCore::QNode *parent = nullptr) | |
virtual | ~QNormalDiffuseMapMaterial() |
QColor | ambient() const |
Qt3DRender::QAbstractTexture * | diffuse() const |
Qt3DRender::QAbstractTexture * | normal() const |
float | shininess() const |
QColor | specular() const |
float | textureScale() const |
公共槽
void | setAmbient(const QColor &ambient) |
void | setDiffuse(Qt3DRender::QAbstractTexture *diffuse) |
void | setNormal(Qt3DRender::QAbstractTexture *normal) |
void | setShininess(float shininess) |
void | setSpecular(const QColor &specular) |
void | setTextureScale(float textureScale) |
信号
void | ambientChanged(const QColor &ambient) |
void | diffuseChanged(Qt3DRender::QAbstractTexture *diffuse) |
void | normalChanged(Qt3DRender::QAbstractTexture *normal) |
void | shininessChanged(float shininess) |
void | specularChanged(const QColor &specular) |
void | textureScaleChanged(float textureScale) |
详细描述
此类已过时;请使用QDiffuseSpecularMaterial代替。
镜面照明效果基于三个照明组件的组合:环境光、漫反射和镜面反射。这些组件的相对强度通过它们的反射率系数来控制,这些系数被建模为RGB三元组。
- 环境光是无关其他光源发出的对象所发出的颜色。
- 漫反射是有灯光参与下的粗糙表面反射所发出的颜色。
- 镜面反射是有灯光参与下的光滑表面反射所发出的颜色。
- 表面的光泽度通过一个浮点属性来控制。
此类使用具有单个渲染通道方法的效果,并执行每像素照明。提供OpenGL 2、OpenGL 3或更高版本以及OpenGL ES 2的技术。
属性文档
ambient : QColor
保存当前环境颜色。
访问函数
QColor | ambient() const |
void | setAmbient(const QColor &ambient) |
通知信号
void | ambientChanged(const QColor &ambient) |
diffuse : Qt3DRender::QAbstractTexture*
保存当前漫反射贴图纹理。
默认情况下,漫反射纹理具有这些属性
- 线性缩小和放大过滤器
- 启用米普贴图的线性米普贴图
- 重复包装模式M
- 最大各向异性为16.0
访问函数
Qt3DRender::QAbstractTexture * | diffuse() const |
void | setDiffuse(Qt3DRender::QAbstractTexture *diffuse) |
通知信号
void | diffuseChanged(Qt3DRender::QAbstractTexture *diffuse) |
normal : Qt3DRender::QAbstractTexture*
保存当前法线贴图纹理。
默认情况下,法线纹理具有以下属性
- 线性缩小和放大过滤器
- 重复包装模式
- 最大各向异性为16.0
访问函数
Qt3DRender::QAbstractTexture * | normal() const |
void | setNormal(Qt3DRender::QAbstractTexture *normal) |
通知信号
void | normalChanged(Qt3DRender::QAbstractTexture *normal) |
shininess : float
保存当前光泽度作为一个浮点值。
访问函数
float | shininess() const |
void | setShininess(float shininess) |
通知信号
void | shininessChanged(float shininess) |
specular : QColor
保存当前镜面反射颜色。
访问函数
QColor | specular() const |
void | setSpecular(const QColor &specular) |
通知信号
void | specularChanged(const QColor &specular) |
textureScale : float
保持当前纹理缩放。它在渲染时作为纹理坐标的乘数应用。默认为1.0。
当与QTextureWrapMode::Repeat一起使用时,textureScale提供了一种简单的方法来在表面平铺纹理。例如,纹理缩放为4.0
会导致16(4x4)个砖块。
访问函数
float | textureScale() const |
void | setTextureScale(float textureScale) |
通知信号
void | textureScaleChanged(float textureScale) |
成员函数文档
[explicit]
QNormalDiffuseMapMaterial::QNormalDiffuseMapMaterial(Qt3DCore::QNode *parent = nullptr)
使用父对象parent构建一个新的QNormalDiffuseMapMaterial实例。
[virtual noexcept]
QNormalDiffuseMapMaterial::~QNormalDiffuseMapMaterial()
销毁QNormalDiffuseMapMaterial实例。
© 2024 Qt公司。此处包含的文档贡献的版权属于各自的版权所有者。此处提供的文档根据自由软件基金会发布的GNU自由文档许可协议版本1.3的条款许可。Qt以及相应的标志是芬兰以及/或者是世界上其他国家的Qt公司的商标。所有其他商标是各自所有者的财产。