一、WEBGL入门

238 阅读1分钟

一、介绍

今天写一个最简单的WebGL程序,不涉及着色器;主要是获取webgl上下文,并认识该上下文中的一些简单接口。
示例的html文件(本篇未列出)只包含一个canvas元素,id'为webgl';
js中根据id获取canvas元素;再从canvas元素上获取上下文,从上下文中获取内置函数绘制图形。
该过程与二维图形相同,区别仅在于绘制getContext()的参数,参数为'2d'代表二维,'webgl'代表三维。

二、代码示例

#获取canvas元素
var canvas = document.getElementById('webgl');
#向该元素请求绘图上下文,可从绘图上下文中调用响应的绘图函数,绘制图形
var gl = canvas.getContext('webgl');

//指定清除颜色
gl.clearColor(0.0, 0.0, 0.0, 1.0);
//清空颜色缓冲区
gl.clear(gl.COLOR_BUFFER_BIT);

调用gl.clearColor()时,颜色会贮存在WebGL系统中,直到下一次调用gl.clearColor()

内置方法

gl.clear(buffer)

将指定缓冲区设为预定的值

buffer 可用OR(|)指定多个 默认值
gl.COLOR_BUFFER_BIT 指定颜色缓冲区 (0.0, 0.0, 0.0, 1.0)
gl.DEPTH_BUFFER_BIT 指定深度缓冲区 1.0
gl.STENCIL_BUFFER_BIT 指定模板缓冲区 0

基本缓冲区分类

  • 颜色缓冲区
  • 深度缓冲区
  • 模板缓冲区