美文网首页
webgl画点

webgl画点

作者: antlove | 来源:发表于2019-03-10 11:29 被阅读0次

index.html

<!DOCTYPE html>
<html>

<head>
    <meta lang="en">
    <meta charset="UTF-8">
    <title>WebGL</title>
    <style>
        body{
            margin:0;
        }
        canvas{
            border:1px solid #999;
        }
    </style>
</head>

<body>
    <canvas id="canvas" width="500" height="500"></canvas>
</body>

<script type="text/javascript" src="index.js"></script>

</html>

index.js

// 顶点着色器程序
var VSHADER_SOURCE =`
    void main() {
        //设置坐标
        gl_Position = vec4(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");
}

/* 编译着色器 */
var vertShader = gl.createShader(gl.VERTEX_SHADER); // 创建Shader对象 
gl.shaderSource(vertShader, VSHADER_SOURCE); // 将写好的着色器附加到Shader上
gl.compileShader(vertShader); // 编译程序

var fragShader = gl.createShader(gl.FRAGMENT_SHADER); // 创建Shader对象 
gl.shaderSource(fragShader, FSHADER_SOURCE); // 将写好的着色器附加到Shader上
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);

相关文章

  • webgl画点

    index.html index.js

  • webgl 8.画一个正方形

    前面我们说 webgl 只能画点、线、三角形 3 种基本图形,那么我想画一个球,画一个宇宙飞船怎么办呢?图形学中复...

  • 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画点

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