当前位置: 首页 > news >正文

网站建设+临沂网站设计是做什么的

网站建设+临沂,网站设计是做什么的,深圳网站建设开发公司,厦门网站建设 模板建站1. WebGL是什么? WebGL(Web Graphics Library)是一种JavaScript API,它允许你在不需要安装任何额外插件的情况下,直接在浏览器中渲染高性能的2D和3D图形。WebGL利用了用户的图形处理单元(GPU)来…

1. WebGL是什么?

WebGL(Web Graphics Library)是一种JavaScript API,它允许你在不需要安装任何额外插件的情况下,直接在浏览器中渲染高性能的2D和3D图形。WebGL利用了用户的图形处理单元(GPU)来加快渲染速度,这意味着你可以在网页上创建类似桌面应用程序的视觉效果。

1.1 WebGL入门代码实现如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>给画布换个颜色</title>
</head>
<body><canvas id="canvas" width="400" height="400">此浏览器不支持canvas</canvas><script>const ctx = document.getElementById('canvas')const gl = ctx.getContext('webgl')gl.clearColor(1.0, 0.0, 0.0, 1.0)gl.clear(gl.COLOR_BUFFER_BIT)</script>
</body>
</html>

1.2 方法详解

(1)gl.clearColor(r,g,b,a) 指定清空<canvas>的颜色,接收四个参数取值区间为 0.0~1.0)

(2)gl.clear(buffer) 清空canvas参数分为三项

  • gl.COLOR_BUFFER_BIT 清空颜色缓存
  • gl.DEPTH_BUFFER_BIT 清空深度缓冲区
  • gl.STENCIL_BUFFER_BIT 清空模板缓冲区

(3)gl.clear 需要和 gl.clearColor 提到的函数搭配使用

  • gl.clear(gl.COLOR_BUFFER_BIT) 和 gl.clearColor(0.0,0.0,0.0,1.0)
  • gl.clear(gl.DEPTH_BUFFER_BIT) 和 gl.clearDepth(1.0)
  • gl.clear(gl.STENCIL_BUFFER_BIT) 和 gl.clearStencil(0)

2. WebGL的基本组件

2.1 什么是着色器

(1)着色器:就是让开发者自己去编写一段程序,用来代替固定渲染管线,来处理图像的渲染。

  1. 顶点着色器:处理每个顶点的数据,如位置、颜色和纹理坐标。
  2. 片元着色器:处理每个像素(片元)的颜色和其他属性,最终决定屏幕上显示的颜色。

2.2 webgl 绘制一个点的流程

f760530b15534e75b65852b6b828d5d0.jpeg

 2.2.1 创建着色器源码
// 顶点着色器源码
const vertexShaderSource = `
// 必须要存在 main 函数
void main() {// 要绘制的点的坐标gl_Position = vec4(0.0,0.0,0.0,1.0); // x, y, z, w齐次坐标(x/w,y/w, z/w)// 点的大小gl_PointSize = 10.0;
}`// 片源着色器源码
const fragmentShaderSource = `
// 必须要存在 main 函数
void main() {gl_FragColor = vec4(0.0,0.0,0.0,1.0); // r, g, b, a
}`
2.2.2 创建着色器
// 创建顶点着色器对象
const vertexShader = gl.createShader(gl.VERTEX_SHADER);
// 创建片段着色器对象
const fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);
2.2.3 指定关联着色器源码
// 设置顶点着色器源代码
gl.shaderSource(vertexShader, vertexShaderSource);
// 设置片段着色器源代码
gl.shaderSource(fragmentShader, fragmentShaderSource);

2.2.4 编译着色器

// 编译顶点着色器
gl.compileShader(vertexShader);
// 编译片段着色器
gl.compileShader(fragmentShader);
2.2.5 创建程序对象
const program = gl.createProgram();
gl.attachShader(program,vertexShader)
gl.attachShader(program,fragmentShader)
gl.linkProgram(program)
gl.useProgram(program)
2.2.6 执行绘制
gl.drawArrays(gl.POINTS,0,1);    // 绘制一个点,需要1个点

http://www.khdw.cn/news/16550.html

相关文章:

  • 烟台开发区做网站武汉关键词排名提升
  • 哪个网站有天天做股市直播的电商运营推广
  • 做信息采集的网站免费html网站制作成品
  • seo 网站太小国内网站排名
  • 如何学习制作网站班级优化大师免费下载
  • 网站是否被百度收录一个产品的营销方案
  • led灯网站建设案例怎么快速优化关键词排名
  • 新手初做网站世界大学排名
  • 鄂州做网站多少钱关键词推广怎么做
  • wordpress公司官网主题seo搜索引擎优化技术
  • 高端网站设计如何免费推广自己的网站
  • 长春比较有名的做网站建设seo关键词排名网络公司
  • 端州网站建设seo服务是什么意思
  • 注册公司什么网站百度官方人工客服电话
  • 动态交互网站建设2021年网络营销考试题及答案
  • 网站建设尾款wix网站制作
  • 北碚集团网站建设网络推广公司运营
  • wordpress当前分类名大型网站seo课程
  • 玉林做绿化苗木网站的是哪个单位长沙网站seo技术厂家
  • 网站推广新手入门教程企业qq
  • 网站的做用百度竞价推广效果怎么样
  • 包头建站营销网络是什么意思
  • 单位网站设计制作广告代发平台
  • asp.net c 网站开发网站排名顾问
  • 武汉做网站深圳百度快速排名提升
  • 商业门户网站有哪些关键词排名怎么查
  • 青岛做优化网站哪家好人力资源培训与开发
  • 网站登录按钮点击没反应什么原因免费创建属于自己的网站
  • 南昌网站开发培训班外链工具在线
  • 西红门做网站合肥头条今日头条新闻最新消息