WebGL简单绘制图形的两种方法

第一种方法跟canvas相似 , 不常用.

step1: 添加一个画布元素
step2: 获取到画布元素的基于webgl的上下文环境对象
step3: 使用对象的api

<body>
    <canvas id="pic" width="200" height="200" style="border: dashed 1px solid"></canvas>
    <script type="text/javascript">
    
        // 获取画布元素
        let pic = document.getElementById("pic");
        // 获取到元素的上下文环境对象
        let gl = pic.getContext('webgl');

        // 设置绘制图形的颜色  设置好后自动保存到缓存中
        gl.clearColor(1.0,0.0,0.0,1.0);  
    
        // 调用缓存中的值填充图形
        gl.clear(gl.COLOR_BUFFER_BIT)
    
    </script>
</body>

第二种方法: 使用着色器绘制

着色器介绍:
着色器是使用 OpenGL ES Shading Language (GLSL) 语言编写的程序, 负责记录像素点的位置颜色, 并由顶点着色器片段着色器组成, 通过GLSL编写这些着色器. 并将代码文本传递给WebGL编译. 编写时两个着色器是分开编写, 使用时是集合使用的, 集合统称为着色器程序

顶点着色器: 负责记录整个绘制图形顶点的坐标信息
片段着色器: 负责确定像素的颜色值

<body>
    <canvas id="pic" width="200" height="200" style="border: dashed 1px solid"></canvas>
    <script type="text/javascript">
    
        // 获取画布元素
        let pic = document.getElementById("pic");
        // 获取到元素的上下文环境对象
        let gl = pic.getContext('webgl');

        // 顶点着色器变量
        let VSHADER_SOURCE = 

            'void main() {' +
            // 顶点位置矢量值, vec4方法, 定义点的坐标并转换成变量保存
        
            'gl_Position = vec4(0.0,0.0,0.0,1.0);' +
            // 设置缩放距离的直径
            'gl_PointSize = 10.0;' + 

            '}';

        // 片段着色器变量
        let FSHADER_SOURCE = 

        'void main() {' +
            // 设置图形像素的颜色并保存
            'gl_FragColor = vec4(0.0,1.0,0.0,1.0);' +

            '}';
    </script>
</body>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值