WebGL Tutorial 创建WebGL环境

创建WebGL环境不难,本篇讲下怎么创建一个 WebGL的环境:


1. 在页面里动态创建一个canvas:

var webglcanvas = null;
function init() {
  container = document.createElement( 'div' );
  document.body.appendChild( container );
  webglcanvas = document.createElement('canvas'),	
  container.appendChild(webglcanvas);
}


2. 从canvas中获取WebGL Context
var gl = null;
function initGL () {
  try {
    gl = webglcanvas.getContext("experimental-webgl");
    if ( null == gl ) {
      throw 'Error creating WebGL context.';
    }
  } 
  catch (error) {
    console.log(error);
  }
}

3. 创建一个用于渲染用的方法
function updateFrame () {			
  // Clear the color buffer
  gl.clearColor(0.4, 0.4, 0.7, 1);
  gl.clear ( gl.COLOR_BUFFER_BIT );

  // 设置一个Timer   
  setTimeout( function(){updateFrame()}, 20);
}

4. 初始化并开始渲染
init();
initGL();
updateFrame();	

<!doctype html>
<html lang="en">
	<head>
		<title>webgl - init webgl</title>		
	</head>
	
	<body>						
		<script>

			var width = window.innerWidth;
			var height= window.innerHeight;

			var webglcanvas = null;
			var gl = null;
			
			function initGL () {
			
				try {
				
					gl = webglcanvas.getContext("experimental-webgl");
					if ( null == gl ) {
						throw 'Error creating WebGL context.';
					}
				} 
				catch (error) {
					console.log(error);
				}		
				
			}
			
			function init() {

				container = document.createElement( 'div' );
				document.body.appendChild( container );
	
				webglcanvas = document.createElement('canvas'),		
				
				container.appendChild(webglcanvas);		
				
			}

			function updateFrame () {			

				// Set the viewport
				gl.viewport ( 0, 0, width, height );
				
				// Clear the color buffer
				gl.clearColor(0.4, 0.4, 0.7, 1);
				gl.clear ( gl.COLOR_BUFFER_BIT );
   
				setTimeout( 
					function(){updateFrame()},
					20);
			}

			init();
			initGL();
			updateFrame();	

        </script>

	</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值