分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

WebGL通过getAttribLocation向顶点坐标器传递信息

发布时间:2023-09-06 02:34责任编辑:苏小强关键词:WebWebGL
<canvas style="border: red solid 3px;" id=‘webgl‘ width=‘500‘ height=‘500‘>不支持</canvas><script> ???//顶点着色器程序 ???var VSH = ???????‘attribute vec4 a_Position;\n‘ + ???????‘attribute float a_PointSize;\n‘ + ???????‘void main(){\n‘ + ???????????‘gl_Position = a_Position;\n‘ + //坐标 ???????????‘gl_PointSize = a_PointSize;\n‘ + //尺寸 ???????‘}\n‘; ???//片元着色器程序 ???var FSH = ???????‘void main(){\n‘ + ???????????‘gl_FragColor = vec4(1.0,0.5,0.9,1.0);\n‘ + //颜色 ???????‘}\n‘; ???var canvas = document.getElementById(‘webgl‘); ???var gl = getWebGLContext(canvas); ???initShaders(gl, VSH, FSH); //初始化着色器 ???var a_Position = gl.getAttribLocation(gl.program, ‘a_Position‘); //获取attribute -> a_Position变量的存储地址 ???gl.vertexAttrib3f(a_Position, 0.5, 0.0, 0.0); ???//将顶点的位置传给attribute变量 ???var a_PointSize = gl.getAttribLocation(gl.program, ‘a_PointSize‘); //获取attribute -> a_PointSize变量的存储地址 ???gl.vertexAttrib1f(a_PointSize, 150.0); ???//将顶点的位置传给attribute变量 ???gl.clearColor(0.0, 0.0, 1.0, 1.0); //指定背景色 ???gl.clear(gl.COLOR_BUFFER_BIT); //填充 ???gl.drawArrays(gl.POINTS, 0, 1); //绘制一个点 ???/* ???????因为绘制的是单独的点,所以是gl.POINTS ???????第二个参数为0,表示从第一个顶点画起 ???????第三个参数为1,表示在程序中只绘制了一个点 ???*/</script>

WebGL通过getAttribLocation向顶点坐标器传递信息

原文地址:https://www.cnblogs.com/tongyuzhe/p/10452969.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved