五 WebGL

作者: 十丈_红尘 | 来源:发表于2020-07-22 14:16 被阅读0次

Svg入门
WebGL(Web Graphics Library)是一种 3D 绘图协议,WebGL可以为 HTML5 Canvas 提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示 3D 场景和模型了,还能创建复杂的导航和数据视觉化。

WebGL 案例分享


WebGL 绘制点

***
<html>
  <body>
    <canvas id="canvas" width="200px" height="200px"></canvas>
    <script>
    window.onload = function () {
      //顶点着色器程序
      var VSHADER_SOURCE =
          "void main() {" +
              //设置坐标
          "gl_Position = vec4(0.0, 0.0, 0.0, 1.0); " +
              //设置尺寸
          "gl_PointSize = 10.0; " +
          "} ";
    
      //片元着色器
      var FSHADER_SOURCE =
          "void main() {" +
              //设置颜色
          "gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);" +
          "}";
      //获取canvas元素
      var canvas = document.getElementById('canvas');
      //获取绘制二维上下文
      var gl = canvas.getContext('webgl');
      if (!gl) {
          console.log("Failed");
          return;
      }
      //编译着色器
      var vertShader = gl.createShader(gl.VERTEX_SHADER);
      gl.shaderSource(vertShader, VSHADER_SOURCE);
      gl.compileShader(vertShader);
    
      var fragShader = gl.createShader(gl.FRAGMENT_SHADER);
      gl.shaderSource(fragShader, FSHADER_SOURCE);
      gl.compileShader(fragShader);
      //合并程序
      var shaderProgram = gl.createProgram();
      gl.attachShader(shaderProgram, vertShader);
      gl.attachShader(shaderProgram, fragShader);
      gl.linkProgram(shaderProgram);
      gl.useProgram(shaderProgram);
    
      //绘制一个点
      gl.drawArrays(gl.POINTS, 0, 1);
    }
    </script>
</body>
</html>

zrender

相关文章

  • 五 WebGL

    ← Svg入门WebGL(Web Graphics Library)是一种 3D 绘图协议,WebGL可以为 HT...

  • WebGL漫游之旅(一)

    原文链接:WebGL漫游之旅(一) 一、WebGL基本概念 WebGL (Web Graphics Library...

  • threejs Light

    WebGL and Threejs: Lightig 什么是webgl和threejs? webgl是一个在浏览器...

  • threejs Light

    WebGL and Threejs: Lightig 什么是webgl和threejs? webgl是一个在浏览器...

  • WebGL

    WebGL WebGL top Prepare your browser Knowing canvas befor...

  • webgl

    WebGL 理论基础[https://webglfundamentals.org/webgl/lessons/zh...

  • JavaScript第十五章节 使用Canvas绘图(W

    WebGL WebGL 是针对 Canvas 的 3D 上下文。与其他 Web 技术不同,WebGL 并不是 W3...

  • WebGL简易教程 地理地形绘制

    WebGL简易教程(一):第一个简单示例 WebGL简易教程(二):向着色器传输数据 WebGL简易教程(三):绘...

  • WebGL学习笔记(一)

    WebGL学习笔记(一) 一个最简单的webgl程序 *引入的js文件是简单的webgl辅助函数 * 程序中有一段...

  • WebGL入门

    初识WebGL 01-手动绘制一个WebGL图形 实现的步骤: 添加一个画布元素 获取到画布元素的基于webgl上...

网友评论

      本文标题:五 WebGL

      本文链接:https://www.haomeiwen.com/subject/ncozkktx.html