--- title: WebGLRenderingContext.createProgram() slug: Web/API/WebGLRenderingContext/createProgram translation_of: Web/API/WebGLRenderingContext/createProgram ---
WebGL API 的 WebGLRenderingContext.createProgram()
方法用于创建和初始化一个 {{domxref("WebGLProgram")}} 对象。
WebGLProgram gl.createProgram();
无.
一个 {{domxref("WebGLProgram")}} 对象由两个编译过后的 {{domxref("WebGLShader")}} 组成 - 顶点着色器和片段着色器(均由 GLSL 语言所写)。这些组合成一个可用的 WebGL 着色器程序。
var program = gl.createProgram(); // 添加预先定义好的顶点着色器和片段着色器 gl.attachShader(program, vertexShader); gl.attachShader(program, fragmentShader); gl.linkProgram(program); if ( !gl.getProgramParameter( program, gl.LINK_STATUS) ) { var info = gl.getProgramInfoLog(program); throw "Could not compile WebGL program. \n\n" + info; }
详见 {{domxref("WebGLShader")}} 获取更多关于创建上述代码中顶点着色器和片段着色器的信息。
规范 | 状态 | 注释 |
---|---|---|
{{SpecName('WebGL', "#5.14.9", "createProgram")}} | {{Spec2('WebGL')}} | 初始定义 |
{{SpecName('OpenGL ES 2.0', "glCreateProgram.xml", "glCreateProgram")}} | {{Spec2('OpenGL ES 2.0')}} | OpenGL(类似) API的规范文档 |
{{Compat("api/WebGLRenderingContext", "WebGLRenderingContext.createProgram")}}