Skip to content

Material

Alfred Liu edited this page Jan 22, 2019 · 1 revision

Marterial

Public Functions

Material(QVector3D color = QVector3D(1, 1, 1), QObject * parent = 0)

构造一个材质,其父亲为 parent

为了保证场景的树状结构正常工作,你应该为其指定一个 Mesh 类型的父亲。

注意 Mesh 有且只有一个 Material孩子。

void dumpObjectInfo(int level = 0)

将 Mesh 自身的相关属性输出到控制台。

void dumpObjectTree(int level = 0)

将 Mesh 自身以及其孩子(如果存在)的相关属性输出到控制台。

注意 Mesh 的孩子是其材质(Material),而不是另一个 Mesh

QVector3D color() const

返回 Martial 的颜色。

float ambient()

返回 Martial 的环境颜色。

float diffuse()

返回 Martial 漫反射系数。

float specular()

返回 Martial 镜面反射系数。

float shininess()

返回 Martial 光滑系数。

QSharedPointer diffuseTexture()

返回 Martial 的漫反射纹理。

QSharedPointer specularTexture()

返回 Martial 的镜面反射纹理。

QSharedPointer bumpTexture()

返回 Martial 的凹凸纹理。

Public Slots

void setColor(QVector3D color)

设置 Martial 的颜色。

void setAmbient(### float ambient)

设置 Martial 的环境颜色。

void setDiffuse(### float diffuse)

设置 Martial 漫反射系数。

void setSpecular(### float specular)

设置 Martial 镜面反射系数。

void setShininess(### float shininess)

设置 Martial 光滑系数。

void setDiffuseTexture(QSharedPointer diffuseTexture)

设置 Martial 的漫反射纹理。

void setSpecularTexture(QSharedPointer specularTexture)

设置 Martial 的镜面反射纹理。

void setBumpTexture(QSharedPointer bumpTexture)

设置 Martial 的法线纹理。

Signals

void colorChanged(QVector3D color)

当 Martirial 的颜色发生变化时,会发出该信号。

void ambientChanged(### float ambient)

当 Martirial 的环境颜色发生变化时,会发出该信号。

void diffuseChanged(### float diffuse)

当 Martirial 的漫反射系数发生变化时,会发出该信号。

void specularChanged(### float specular)

当 Martirial 的镜面反射系数发生变化时,会发出该信号。

void shininessChanged(### float shininess)

当 Martirial 的光滑系数发生变化时,会发出该信号。

void diffuseTextureChanged(QSharedPointer diffuseTexture)

当 Martirial 的漫反射纹理发生变化时,会发出该信号。

void specularTextureChanged(QSharedPointer specularTexture)

当 Martirial 的镜面反射纹理发生变化时,会发出该信号。

void bumpTextureChanged(QSharedPointer bumpTexture)

当 Martirial 的法线纹理发生变化时,会发出该信号。