分享web开发知识

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

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

WebGL着色器绘制一个点

发布时间:2023-09-06 02:27责任编辑:蔡小小关键词:WebWebGL

OpenGL ES着色器语言(GLSL ES)

1. 强类型语言
2. 内置变量 gl_Position(坐标) gl_PointSize(尺寸) gl_FragColor(颜色)
3. gl_pointSize必须使用浮点型,gl_PointSize=10 会报错,必须10.0这种格式的类型。
4. gl_Position表示点的位置,类型为vec4,可以在最后加一个1.0,构成4个浮点数组成的矢量,使其变成齐次坐标。
5. WebGL姑且认为是右手坐标系。
6. webGl着色器。
顶点着色器(Vertex shader)用来描述顶点特性(如位置、颜色等)的程序,通常是二维或者三维图形的端点或者焦点。
片元着色器(Fragment shader)进行逐片处理如光照的程序,可以理解为像素(图像的单元)。
 1 ?// 顶点着色器,设置坐标和设置尺寸。 2 ????var VSHADER_SOURCE = 3 ????????` 4 ????void main(){ 5 ??????gl_Position=vec4(0.0,0.5,0.0,1.0); 6 ??????gl_PointSize=10.0; 7 ????} 8 ????` 9 10 ????//片元着色器11 ????var FSHADER_SOURCE =12 ????????`13 ????void main(){14 ????????gl_FragColor=vec4(1.0,0.0,0.0,1.0);15 ??????}16 ????`18 ????function main() {19 ????????var canvas = document.getElementById(‘webgl‘);20 ????????var gl = getWebGLContext(canvas);21 ????????if (!gl) {22 ????????????return;23 ????????}24 ????????//初始化着色器25 ????????if (!initShaders(gl, VSHADER_SOURCE, FSHADER_SOURCE)) {26 ????????????return;27 ????????}28 ????????//设置背景色29 ????????gl.clearColor(0.0, 0.0, 0.0, 1.0);30 ????????// 清空canvas31 ????????gl.clear(gl.COLOR_BUFFER_BIT);32 33 ????????// 绘制一个点 从第一个顶点(0)绘制一个点34 ????????gl.drawArrays(gl.POINTS, 0,1);35 ????}36 ????main();

结果图片

WebGL着色器绘制一个点

原文地址:https://www.cnblogs.com/yiluxiangbei/p/10166397.html

知识推荐

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