--- title: 'WebGLRenderingContext.vertexAttrib[1234]f[v]()' slug: Web/API/WebGLRenderingContext/vertexAttrib translation_of: Web/API/WebGLRenderingContext/vertexAttrib ---
{{APIRef("WebGL")}}

 WebGLRenderingContext.vertexAttrib[1234]f[v]() 是 WebGL API 的方法,可以为顶点attibute变量赋值。

语法

void gl.vertexAttrib1f(index, v0);
void gl.vertexAttrib2f(index, v0, v1);
void gl.vertexAttrib3f(index, v0, v1, v2);
void gl.vertexAttrib4f(index, v0, v1, v2, v3);

void gl.vertexAttrib1fv(index, value);
void gl.vertexAttrib2fv(index, value);
void gl.vertexAttrib3fv(index, value);
void gl.vertexAttrib4fv(index, value);

Parameters

index
 {{domxref("GLuint")}} 类型,指定了待修改顶点attribute变量的存储位置。
v0, v1, v2, v3
浮点数类型{{jsxref("Number")}},用于设置顶点attibute变量的各分量值。
value

{{jsxref("Float32Array")}} 类型,用于设置顶点attibute变量的向量值。

返回值

无。

示例

const a_foobar = gl.getAttribLocation(shaderProgram, 'foobar');
//either set each component individually:
gl.vertexAttrib3f(a_foobar, 10.0, 5.0, 2.0);
//or provide a Float32Array:
const floatArray = new Float32Array([10.0, 5.0, 2.0]);
gl.vertexAttrib3fv(a_foobar, floatArray);

规范

Specification Status Comment
{{SpecName('WebGL', "#5.14.10", "vertexAttrib")}} {{Spec2('WebGL')}} Initial definition.
{{SpecName('OpenGL ES 2.0', "glVertexAttrib.xml", "glVertexAttrib")}} {{Spec2('OpenGL ES 2.0')}} Man page of the OpenGL API.

浏览器兼容性

{{Compat("api.WebGLRenderingContext.vertexAttrib1f")}}

相关链接