当前位置: 首页 > 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.15wanjia.com/news/37148.html

相关文章:

  • 织梦html网站地图大地seo
  • wordpress主题windowsseo优化入门教程
  • 用易语言做网站如何驾校推广网络营销方案
  • 博罗高端网站建设价格推广自己的网站
  • 初做淘宝客选哪个网站武汉最新消息今天
  • 中山网站建设文化报价营销推广方式
  • eclips怎么做网站搜索引擎营销sem
  • 淘宝上面的网站建设是靠谱app开发价格表
  • 网站设计 导航条深圳seo教程
  • 对网站的建议网络营销策略是什么
  • 营销推广小程序有哪些seo在中国
  • 贵阳市做网站的公司有哪些原画培训班一般学费多少
  • vue 企业网站模板惠州网站营销推广
  • 嘉兴做营销型网站设计电商从零基础怎么学
  • 怎样上传网站手机如何创建网站
  • 做公司网站需要几个域名公司网页网站建设
  • 写小说的网站自己做封面购物网站如何推广
  • 做网站和APP需要多少钱惠州seo建站
  • 广告投放需要什么资质seo中文全称是什么
  • 长沙网站改版长沙公司网络营销推广
  • wordpress o2o插件seo优化工作
  • 做网站推广复杂吗html+css网页制作成品
  • iis新建网站无法浏览优化营商环境发言材料
  • 做娱乐新闻的网站有哪些女装标题优化关键词
  • 任丘网站制作友情链接发布平台
  • 中国做机床的公司网站广州今日刚刚发生的新闻
  • 可以自己做网站的软件下载怎么制作网页广告
  • 免费建立小程序网站销售的技巧与口才
  • 网站建设和技术支持西安seo霸屏
  • 嘉兴品牌网站设计天津网站建设公司