# [name]

编译顶点或片元着色器的更底层的函数

## 示例

`var gl = renderer.getContext(); var glVertexShader = new THREE.WebGLShader( gl, gl.VERTEX_SHADER, vertexSourceCode ); var glFragmentShader = new THREE.WebGLShader( gl, gl.FRAGMENT_SHADER, fragmentSourceCode ); var program = gl.createProgram(); gl.attachShader( program, glVertexShader ); gl.attachShader( program, glFragmentShader ); gl.linkProgram( program );`

## 函数

### [page:WebGLShader objects]([page:WebGLContext gl], [page:WebGLEnum type], [page:String source])

gl -- 当前的WebGL环境 type -- WebGL类型，值是gl.VERTEX_SHADER 或者 gl.FRAGMENT_SHADER source -- 着色器源码

此函数将编译一个独立的着色器，不会将它和一个完整的[page:WebGLProgram]链接起来。 说明: 这是一个函数，因此不应该使用新的操作符。

## 源码

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]