WebGLShader.html 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="utf-8" />
  5. <base href="../../../../" />
  6. <script src="page.js"></script>
  7. <link type="text/css" rel="stylesheet" href="page.css" />
  8. </head>
  9. <body>
  10. <h1>[name]</h1>
  11. <p class="desc">编译顶点或片元着色器的更底层的函数</p>
  12. <h2>代码示例</h2>
  13. <code>
  14. const gl = renderer.getContext();
  15. const glVertexShader = new THREE.WebGLShader( gl, gl.VERTEX_SHADER, vertexSourceCode );
  16. const glFragmentShader = new THREE.WebGLShader( gl, gl.FRAGMENT_SHADER, fragmentSourceCode );
  17. const program = gl.createProgram();
  18. gl.attachShader( program, glVertexShader );
  19. gl.attachShader( program, glFragmentShader );
  20. gl.linkProgram( program );
  21. </code>
  22. <h2>函数</h2>
  23. <h3>[page:WebGLShader objects]([page:WebGLContext gl], [page:WebGLEnum type], [page:String source])</h3>
  24. <p>
  25. gl -- 当前的WebGL环境
  26. type -- WebGL类型,值是gl.VERTEX_SHADER 或者 gl.FRAGMENT_SHADER
  27. source -- 着色器源码
  28. </p>
  29. <p>
  30. 此函数将编译一个独立的着色器,不会将它和一个完整的[page:WebGLProgram]链接起来。
  31. 说明: 这是一个函数,因此不应该使用新的操作符。
  32. </p>
  33. <h2>源码</h2>
  34. <p>
  35. [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
  36. </p>
  37. </body>
  38. </html>