QDiffuseSpecularMapMaterial 类
class Qt3D Extras::QDiffuseSpecularMapMaterialQDiffuseSpecularMapMaterial 提供了 phong 光照效果的默认实现,其中漫反射和镜面反射光分量从纹理图中读取。 更多...
头文件 | #include <QDiffuseSpecularMapMaterial> |
CMake | find_package(Qt6 REQUIRED COMPONENTS 3dextras) target_link_libraries(mytarget PRIVATE Qt6::3dextras) |
qmake | QT += 3dextras |
继承 | Qt3DRender::QMaterial |
状态 | 已过时 |
此类已过时。我们强烈建议不要在新的代码中使用它。
属性
公共函数
QDiffuseSpecularMapMaterial(Qt3DCore::QNode *parent = nullptr) | |
virtual | ~QDiffuseSpecularMapMaterial() |
QColor | 环境光() const |
Qt3DRender::QAbstractTexture * | 漫反射() const |
float | 光泽度() const |
Qt3DRender::QAbstractTexture * | 镜面反射() const |
float | 纹理缩放() const |
公共槽
void | setAmbient(const QColor &ambient) |
void | setDiffuse(Qt3DRender::QAbstractTexture *diffuse) |
void | setShininess(float shininess) |
void | setSpecular(Qt3DRender::QAbstractTexture *specular) |
void | setTextureScale(float textureScale) |
信号
void | 环境光已更改(const QColor &ambient) |
void | 漫反射已更改(Qt3DRender::QAbstractTexture *diffuse) |
void | 光泽度已更改(float shininess) |
void | 镜面反射已更改(Qt3DRender::QAbstractTexture *specular) |
void | 纹理缩放已更改(float textureScale) |
详细描述
此类已过时;请使用Qt3DExtras::QDiffuseSpecularMaterial替代。
镜面反射效果基于3个光成分的组合:环境、漫反射和镜面反射。通过它们的反射率系数和RGB三联组模型控制这些组件的相对强度。
- 环境是指在没有其他光源的情况下由物体发出的颜色。
- 漫反射是指与灯光产生的粗糙表面反射的颜色。
- 镜面反射是指与灯光产生的光滑表面反射的颜色。
- 表面的光亮度由一个浮点属性控制。
此材质使用单次渲染通路方法的效果,并执行每片段照明。提供了OpenGL 2、OpenGL 3或以上以及OpenGL ES 2的技术。
属性说明
环境 : QColor
包含无其他光源发出的当前环境颜色。
访问函数
QColor | 环境() const |
void | 设置环境(const QColor &环境) |
通知信号
void | 环境更改(const QColor &环境) |
diffuse : Qt3DRender::QAbstractTexture*
包含当前漫反射贴图纹理。
默认情况下,漫反射纹理具有以下属性
- 线性缩小和放大过滤器
- 启用MIP映射的线性MIP映射
- 重复包装模式
- 最大各向异性为16.0
访问函数
Qt3DRender::QAbstractTexture * | diffuse() const |
void | 设置漫反射(Qt3DRender::QAbstractTexture *diffuse) |
通知信号
void | 漫反射更改(Qt3DRender::QAbstractTexture *diffuse) |
shininess : float
包含当前光泽度作为浮点值。光泽度值越高,高亮区域越小、越亮。
默认值为150.0。
访问函数
float | shininess() const |
void | 设置光泽度(float shininess) |
通知信号
void | 光泽度更改(float shininess) |
specular : Qt3DRender::QAbstractTexture*
包含当前的镜面反射贴图纹理。
默认情况下,镜面反射纹理具有以下属性
- 线性缩小和放大过滤器
- 启用MIP映射的线性MIP映射
- 重复包装模式
- 最大各向异性为16.0
访问函数
Qt3DRender::QAbstractTexture * | specular() const |
void | 设置镜面反射(Qt3DRender::QAbstractTexture *specular) |
通知信号
void | 镜面反射更改(Qt3DRender::QAbstractTexture *specular) |
textureScale : float
包含当前的纹理缩放。它在渲染时间作为乘数应用于纹理坐标。默认值为1.0。
当与QTextureWrapMode::Repeat结合使用时,textureScale为在表面上平铺纹理提供了一种简单的方法。例如,一个4.0的纹理缩放会生成16个(4x4)方块。
访问函数
float | textureScale() const |
void | 设置纹理缩放(float textureScale) |
通知信号
void | 纹理缩放更改(float textureScale) |
成员函数说明
[显式]
QDiffuseSpecularMapMaterial::QDiffuseSpecularMapMaterial(Qt3DCore::QNode *parent = nullptr)
使用父对象parent构建新的QDiffuseSpecularMapMaterial实例。
[虚拟 noexcept]
QDiffuseSpecularMapMaterial::~QDiffuseSpecularMapMaterial()
© 2024 The Qt Company Ltd。此处包含的文档贡献是各自所有者的版权。此处提供的文档是根据自由软件基金会发布的GNU自由文档许可第1.3版许可的。Qt及相关标志是The Qt Company Ltd在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。