zoukankan      html  css  js  c++  java
  • webgl复习笔记——通过arraybuffer绘制多个点

    特别容易单词拼写错误。谨记。

    
    function drawBufferPoints() {
        let v_shader = `
        attribute vec4 a_position;
        void main(){
            gl_Position = a_position;
            gl_PointSize = 10.0;
        }
        `;
        //gl_Position 四位,最后一位叫做齐次坐标,用来矩阵相乘用。
        let f_shader = `
            precision mediump float;
            uniform vec4 u_fragColor;
        void main(){
            gl_FragColor = u_fragColor;
        }
        `;
        initShaders(webgl, v_shader, f_shader);
    
        let n = initBuffer();
    
        let u_fragColor = webgl.getUniformLocation(webgl.program, "u_fragColor")
        webgl.uniform4f(u_fragColor, 0, 0, 1, 1);
    
        webgl.clearColor(0, 0, 0, 1.0);
        webgl.clear(webgl.COLOR_BUFFER_BIT);
        webgl.drawArrays(webgl.POINT, 0, n);
    }
    
    function initBuffer() {
        let gl = webgl;
        let vertexs = new Float32Array(
            [.5, .5, .5, -.5, -.5, -.5]
        );
        let buffer = gl.createBuffer();
        gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
        gl.bufferData(gl.ARRAY_BUFFER, vertexs, gl.STATIC_DRAW);
        let a_position = gl.getAttribLocation(gl.program, 'a_position');
        gl.vertexAttribPointer(a_position, 2, gl.FLOAT, false, 0, 0);
        gl.enableVertexAttribArray(a_position);
        return 3;
    }
    
  • 相关阅读:
    *HDU2473 并查集
    *HDU3172 并查集
    *cf.4 贪心
    *HDU3635 并查集
    *HDU1325 并查集
    *HDU1829 并查集
    Node.js 学习笔记二
    Node.js 学习笔记 一
    AngularJS 学习笔记 一
    MongoDB 基础知识二
  • 原文地址:https://www.cnblogs.com/wyy5552/p/13622514.html
Copyright © 2011-2022 走看看