--- /dev/null
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <base href="../../../" />
+ <script src="list.js"></script>
+ <script src="page.js"></script>
+ <link type="text/css" rel="stylesheet" href="page.css" />
+ </head>
+ <body>
+ <h1>[name]</h1>
+
+ <div class="desc">A lower level function to compile either a vertex or fragment shader.</div>
+
+ <h2>Example</h2>
+
+ <code>
+ var gl = renderer.context;
+
+ 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 );
+ </code>
+
+ <h2>Function</h2>
+
+ <h3>[page:WebGLShader objects]([page:WebGLContext gl], [page:WebGLEnum type], [page:String source])</h3>
+
+ <div>
+ gl -- The current WebGL context
+ type -- The WebGL type, either gl.VERTEX_SHADER or gl.FRAGMENT_SHADER
+ source -- The source code for the shader
+ </div>
+ <div>
+ This will compile an individual shader, but won't link it to be a complete [page:WebGLProgram]. Note: this
+ is a function so the new operator should not be used.
+ </div>
+
+ <h2>Source</h2>
+
+ [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+ </body>
+</html>