1.添加一个画布元素
2.获取画布元素
3.创建一个WebGLRenderingContext对象作为3D渲染的上下文
4.绘制图形
代码:
<body>
<canvas id="webglCanvas" width="500" height="500"></canvas>
<script type="text/javascript">
//获取画布元素
var cvs = document.getElementById("webglCanvas");
//获取画布上下文
var webgl = cvs.getContext("webgl");
//设置绘制图形填充的颜色
webgl.clearColor(1.0,1.0,0.0,1.0);
//调用缓存中值填充图形
webgl.clear(webgl.COLOR_BUFFER_BIT);
</script>
</body>
getContext()方法
var ctx = canvas.getContext(contextType);
var ctx = canvas.getContext(contextType,contextAttributes);
contextType参数有以下四种:
- “2d”,创建一个CanvasRenderingContext2D对象作为2D渲染的上下文。
- “webgl”(或“experimental-webgl”),创建一个WebGLRenderingContext对象作为3D渲染的上下文,只在实现了WebGL 2的浏览器上可用,实验性特性。
- “webgl2”,创建一个WebGL2RenderingContext对象作为3D渲染的上下文,只在实现了WebGL 3的浏览器上可用。
- “bitmaprenderer”,创建一个ImageBitmapRenderingContext,用于将位图渲染到canvas上下文上,实验性特性。
contextAttributes参数可传递多个参数集合用来创建渲染上下文:
- 例如:canvas.getContext('webgl', { antialias: false, depth: false });
WebGLRenderingContext.clearColor()
WebGL API的 WebGLRenderingContext.clearColor()方法用于设置清空颜色缓冲时的颜色值。
这指定调用 clear() 方法时使用的颜色值。这些值在 0 到 1 的范围间。
句法
void gl.clearColor(red, green, blue, alpha);
参数
red
一个 GLclampf (en-US) 类型的值,指定清除缓冲时的红色值。默认值:0。
green
一个 GLclampf (en-US) 类型的值,指定清除缓冲时的绿色值。默认值:0。
blue
一个 GLclampf (en-US) 类型的值,指定清除缓冲时的蓝色值。默认值:0。
alpha
一个 GLclampf (en-US) 类型的值,指定清除缓冲时的不透明度。默认值:0。
WebGLRenderingContext.clear()
WebGL API的WebGLRenderingContext.clear()方法使用预设值来清空缓冲。
预设值可以使用clearColor()、clearDepth()或clearStencil()设置。
句法
void gl.clear(mask);
参数
mask
一个用于指定需要清除的的缓冲区的参数。可能的值有:
- gl.COLOR_BUFFER_BIT //颜色缓冲区
- gl.DEPTH_BUFFER_BIT //深度缓冲区
- gl.STENCIL_BUFFER_BIT //模板缓冲区