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

html展示网站源代码少部分网站ie打不开这些网站域名ping不通

html展示网站源代码,少部分网站ie打不开这些网站域名ping不通,成品网站短视频源码搭建,建站公司售后服务在WebGL编程中,attribute变量是一种特殊类型的变量,用于从客户端传递数据到顶点着色器。这些数据通常包括顶点的位置、颜色、纹理坐标等,它们是与每个顶点直接相关的信息。attribute变量在顶点着色器中声明,并且对于每个顶点来说都…

在WebGL编程中,attribute变量是一种特殊类型的变量,用于从客户端传递数据到顶点着色器。这些数据通常包括顶点的位置、颜色、纹理坐标等,它们是与每个顶点直接相关的信息。attribute变量在顶点着色器中声明,并且对于每个顶点来说都是独立的。

一、创建和使用attribute变量流程

  1. 在顶点着色器中声明attribute变量:attribute vec4 aPosition;

        // 顶点着色器源码const vertexShaderSource = `// attribute使用位置,只传递顶点着色器,不能在片元着色器中使用attribute vec4 aPosition;void main() {gl_Position = aPosition; gl_PointSize = 30.0;}`
  2. 获取attribute变量的存储地址:gl.getAttribLocation(program, 'aPosition');

    const program = initShader(gl, vertexShaderSource, fragmentShaderSource)// 获取attribute变量,必须在initShader之后使用,因为会用到program这个程序对象
    // gl.getAttribLocation(program, name); 
    // 1.program:程序对象 
    // 2.name:指定想要获取存储地址的attribute变量的名称
    // 返回变量的存储地址const aPosition = gl.getAttribLocation(program, 'aPosition');
  3. 设置顶点属性的值:gl.vertexAttrib4f(location, v1, v2, v3,v4)  

    // gl.vertexAttrib4f(location, v1, v2, v3,v4)  
    // v1, v2, v3,v4 分别代表 X, y, Z, W
    // location:变量
    // v1:第一个分量的值
    // v2:第二个分量的值
    // v3:第三个分量的值
    // v4:第四个分量的值gl.vertexAttrib4f(aPosition, 0.5, 0.5, 0.0, 1.0)
    // gl.vertexAttrib3f(aPosition, 0.5, 0.5, 0.0)
    // gl.vertexAttrib2f(aPosition, 0.5, 0.5)
    // gl.vertexAttrib1f(aPosition, 0.5)
  4. 绘制一个水平移动的点

    // 绘制一个水平移动的点
    let x = 0;
    setInterval(() => {x += 0.1if (x > 1.0) {x = 0;}// 设置顶点的值gl.vertexAttrib1f(aPosition, x)// 绘制点gl.drawArrays(gl.POINTS, 0, 1);
    }, 200)

二、完整代码 

 1. html页面代码如下:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>* {margin: 0;padding: 0;}</style><title>webgl三维坐标系</title>
</head><body><canvas id="canvas" width="400" height="400">此浏览器不支持canvas</canvas><script src="./js/index.js"></script><script>const ctx = document.getElementById('canvas')const gl = ctx.getContext('webgl')// 顶点着色器源码const vertexShaderSource = `// attribute使用位置,只传递顶点着色器,不能在片元着色器中使用attribute vec4 aPosition;void main() {gl_Position = aPosition; gl_PointSize = 30.0;}`// 片源着色器源码const fragmentShaderSource = `void main() {gl_FragColor = vec4(0.0,0.0,0.0,1.0); // r, g, b, a}`// 设置着色器封装后,直接使用const program = initShader(gl, vertexShaderSource, fragmentShaderSource)const aPosition = gl.getAttribLocation(program, 'aPosition');// 绘制一个水平移动的点let x = 0;setInterval(() => {x += 0.1if (x > 1.0) {x = 0;}gl.vertexAttrib1f(aPosition, x)// 绘制点gl.drawArrays(gl.POINTS, 0, 1);}, 200)</script>
</body></html>

2. index.js文件中的initShader方法代码如下:

function initShader() {const vertexShader = gl.createShader(gl.VERTEX_SHADER);// 创建顶点着色器对象const fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);// 创建片段着色器对象gl.shaderSource(vertexShader, vertexShaderSource);// 设置顶点着色器源代码gl.shaderSource(fragmentShader, fragmentShaderSource);// 设置片段着色器源代码gl.compileShader(vertexShader);// 编译顶点着色器gl.compileShader(fragmentShader);// 编译片段着色器// 创建一个程序对象const program = gl.createProgram();gl.attachShader(program, vertexShader);gl.attachShader(program, fragmentShader);gl.linkProgram(program);gl.useProgram(program);return program;
}

3. 效果如下:

http://www.yayakq.cn/news/873510/

相关文章:

  • 安康免费做网站电脑网站开发学习
  • 深圳企业公司网站设计网站自动识别手机代码
  • 开发网站手机版电子商务网站 整站 psd
  • 微信上建微网站要钱吗163企业邮箱登入口
  • 阳泉市编办网站三基建设seo站长工具综合查询
  • 读网站建设一定要买电脑实践吗上海明鹏建设集团有限公司网站
  • 怎么自己做网站地图企业网站建设实训总结
  • 在淘宝上做代销哪个网站好wordpress 中文安装
  • 网站路径怎么做网页打不开用什么浏览器
  • 网站维护的方式包括备案核验单 网站类型
  • 深圳龙岗区住房和建设局网站官网wordpress耗资源
  • 1688网站一起做网店团工作网站建设意见
  • 如何建设网站咨询跳转页面网站开发框架的主要作用
  • 站长统计在线观看在外国租服务器做那种网站
  • 上海网站建设哪家便宜做彩妆网站的公司
  • 百度商桥置入网站深圳网站建设推广论坛
  • 公司网站高端网站建设运河建设集团网站
  • 无锡设计师网站郑州做茶叶的网站
  • 新手做自己的网站教程晋城网络公司做网站的
  • 做照片书的模板下载网站上海网站建设 微信开发公司
  • 网站开发 组织架构郴州市12345官网
  • 广东一站式网站建设费用不是搜索网站的是
  • 茂名网站建设教查找网站域名
  • 大连市营商环境建设监督局网站后台网站开发文档
  • 做微信平台网站需要多少钱wordpress为什么性能差
  • 我本沉默传奇新开网站手机网站优点
  • 新手学做网站图纸长沙网站制作工作室知名公司
  • 企业网站建设移动设计模板修饰演示文稿
  • 网站界面设计的分类有哪几种网站建设截图
  • 网站建设哪家最好中国城市建设网网站