参考 specularMaterial()

specularMaterial()

设置形状表面材质的高光颜色。

specularMaterial() 颜色设置形状的光泽涂层将反射的光颜色的组件。例如,调用 specularMaterial(255, 255, 0) 将使形状反射红色和绿色光,但不反射蓝色光。

ambientMaterial() 不同,specularMaterial() 将反射包括 directionalLight()pointLight()spotLight() 在内的光源的全彩光。这就是它赋予形状“闪亮”外观的原因。材质的光泽度可以通过 shininess() 函数控制。

specularMaterial() 可以通过不同的参数以三种方式调用来设置材质的颜色。

调用 specularMaterial() 的第一种方式有一个参数 gray。可以传递介于 0 和 255 之间的灰度值,如 specularMaterial(50),来设置材质的颜色。较高的灰度值会使形状看起来更亮。

调用 specularMaterial() 的第二种方式有一个参数 color。可以传递一个 p5.Color 对象、一个颜色值数组或一个 CSS 颜色字符串,如 specularMaterial('magenta'),来设置材质的颜色。

调用 specularMaterial() 的第三种方式有四个参数 v1v2v3alphaalpha 是可选的。RGBA、HSBA 或 HSLA 值可以传递来设置材质的颜色,例如 specularMaterial(255, 0, 0)specularMaterial(255, 0, 0, 30)。颜色值将根据当前的 colorMode() 进行解释。

示例

语法

specularMaterial(gray, [alpha])
specularMaterial(v1, v2, v3, [alpha])
specularMaterial(color)

参数

gray
数字:

介于 0 (黑色)和 255 (白色)之间的灰度值。

alpha
数字:

当前 colorMode() 中的 alpha 值。

v1
数字:

当前 colorMode() 中的红色或色调值。

v2
数字:

当前 colorMode() 中的绿色或饱和度值。

v3
数字:

当前 colorMode() 中的蓝色、亮度或明度值。

color
p5.Color|数字[]|字符串:

作为 p5.Color 对象、颜色值数组或 CSS 字符串的颜色。

Notice any errors or typos? Please let us know. Please feel free to edit src/webgl/material.js and open a pull request!

相关参考