WebGL学习笔记

什么是 Canvas?

HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。

canvas类似img,是一个矩形区域,您可以控制其每一像素。

canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<canvas id="myCanvas" width="200" height="100"></canvas>
<!--<canvas id="webgl" width="500" height="500"></canvas>-->
<script>
var c=document.getElementById("myCanvas");
 var cxt=c.getContext("2d");
 cxt.fillStyle="#FF0000";
 cxt.fillRect(0,0,150,75);
</script>

效果 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<canvas id="webgl" width="500" height="500"></canvas>
<script src="lib.js"></script>
<script>
  var canvasElement=document.getElementById('webgl');
  var contexts=canvasElement.getContext('webgl');

  var vertexShaderSource = '' +
    'attribute vec4 apos;' +                    //将apos设置成参数
    'void main(){' +                            //顶点着色器代码
    'gl_PointSize=20.0;' +
    'gl_Position = apos;' +                    //这里也要换成apos
    '}';

  var fragShaderSource=''+
    'void main(){'+
    'gl_FragColor=vec4(1.0,0.0,0.0,1.0);'       //片元着色器代码
  +'}';
  var program=initShader(contexts,vertexShaderSource,fragShaderSource);

  var aposLocation = contexts.getAttribLocation(program,'apos');

  var x=0.0;
  var y=0.0;
  contexts.clearColor(0.2,0.3,0.5,1.0);
  contexts.clear(contexts.COLOR_BUFFER_BIT);

  for(var i=0,j=0.1;i<10;i++){
    x+=j;
    y+=j;
    contexts.vertexAttrib4f(aposLocation,x,y,0,1.0);
    contexts.drawArrays(contexts.POINTS,0,1);
  }

</script>

</body>
</html>







效果:(注意0,0是从中心点开始的) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值