WebGLShader.html 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8" />
  5. <base href="../../../../" />
  6. <script src="list.js"></script>
  7. <script src="page.js"></script>
  8. <link type="text/css" rel="stylesheet" href="page.css" />
  9. </head>
  10. <body>
  11. <h1>[name]</h1>
  12. <p class="desc">A lower level function to compile either a vertex or fragment shader.</p>
  13. <h2>Example</h2>
  14. <code>
  15. var gl = renderer.getContext();
  16. var glVertexShader = new THREE.WebGLShader( gl, gl.VERTEX_SHADER, vertexSourceCode );
  17. var glFragmentShader = new THREE.WebGLShader( gl, gl.FRAGMENT_SHADER, fragmentSourceCode );
  18. var program = gl.createProgram();
  19. gl.attachShader( program, glVertexShader );
  20. gl.attachShader( program, glFragmentShader );
  21. gl.linkProgram( program );
  22. </code>
  23. <h2>Function</h2>
  24. <h3>[page:WebGLShader objects]([page:WebGLContext gl], [page:WebGLEnum type], [page:String source])</h3>
  25. <p>
  26. gl -- The current WebGL context
  27. type -- The WebGL type, either gl.VERTEX_SHADER or gl.FRAGMENT_SHADER
  28. source -- The source code for the shader
  29. </p>
  30. <p>
  31. This will compile an individual shader, but won't link it to be a complete [page:WebGLProgram]. Note: this
  32. is a function so the new operator should not be used.
  33. </p>
  34. <h2>Source</h2>
  35. <p>
  36. [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
  37. </p>
  38. </body>
  39. </html>