1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
<!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>
<p class="desc">编译顶点或片元着色器的更底层的函数</p>
<h2>示例</h2>
<code>
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 );
</code>
<h2>函数</h2>
<h3>[page:WebGLShader objects]([page:WebGLContext gl], [page:WebGLEnum type], [page:String source])</h3>
<p>
gl -- 当前的WebGL环境
type -- WebGL类型,值是gl.VERTEX_SHADER 或者 gl.FRAGMENT_SHADER
source -- 着色器源码
</p>
<p>
此函数将编译一个独立的着色器,不会将它和一个完整的[page:WebGLProgram]链接起来。
说明: 这是一个函数,因此不应该使用新的操作符。
</p>
<h2>源码</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
|