2
0

WebGLShader.html 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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">编译顶点或片元着色器的更底层的函数</p>
  13. <h2>示例</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>函数</h2>
  24. <h3>[page:WebGLShader objects]([page:WebGLContext gl], [page:WebGLEnum type], [page:String source])</h3>
  25. <p>
  26. gl -- 当前的WebGL环境
  27. type -- WebGL类型,值是gl.VERTEX_SHADER 或者 gl.FRAGMENT_SHADER
  28. source -- 着色器源码
  29. </p>
  30. <p>
  31. 此函数将编译一个独立的着色器,不会将它和一个完整的[page:WebGLProgram]链接起来。
  32. 说明: 这是一个函数,因此不应该使用新的操作符。
  33. </p>
  34. <h2>源码</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>