WebGL 简单范例 代码
27: g_WebGLContext.linkProgram( g_ShaderProgram );
28:
29: if( !g_WebGLContext.getProgramParameter( g_ShaderProgram, g_WebGLContext.LINK_STATUS ) )
30: {
31: alert( "Shader 初始化失败" );
32: return;
33: }
34:
35: g_WebGLContext.useProgram( g_ShaderProgram );
36: }
在这个函式里,就是各别针对 vertex shader 和 fragment shader,依序地读取 shader 的程序代码、建立 shader 对象、编译 shader 了;而在这两个 shader object 都建立完成后,就再将这两个 shader object attach 到 shader program(全域变量 g_ShaderProgram)上,并且 link、使用这个包含了 vs_01 以及 fs_01 的 shader program 了。而如果都没出问题的话,在执行完 CreateShader() 后,也就完成了 WebGL 的 shader 的配置了。
接下来,就是 CreateData()、也就是建立要画的三角型的部分了;这部分也是相当简单,就是建立一个 vertex array,里面放三个只有位置信息的 vertex 了~