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

网站建设教程小说切图做网站如何做

网站建设教程小说,切图做网站如何做,wordpress商业化插件,青岛网站推广系统在WebGL编程中#xff0c;attribute变量是一种特殊类型的变量#xff0c;用于从客户端传递数据到顶点着色器。这些数据通常包括顶点的位置、颜色、纹理坐标等#xff0c;它们是与每个顶点直接相关的信息。attribute变量在顶点着色器中声明#xff0c;并且对于每个顶点来说都… 在WebGL编程中attribute变量是一种特殊类型的变量用于从客户端传递数据到顶点着色器。这些数据通常包括顶点的位置、颜色、纹理坐标等它们是与每个顶点直接相关的信息。attribute变量在顶点着色器中声明并且对于每个顶点来说都是独立的。 一、创建和使用attribute变量流程 在顶点着色器中声明attribute变量attribute vec4 aPosition; // 顶点着色器源码const vertexShaderSource // attribute使用位置,只传递顶点着色器,不能在片元着色器中使用attribute vec4 aPosition;void main() {gl_Position aPosition; gl_PointSize 30.0;} 获取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); 设置顶点属性的值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) 绘制一个水平移动的点 // 绘制一个水平移动的点 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 langenheadmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0style* {margin: 0;padding: 0;}/styletitlewebgl三维坐标系/title /headbodycanvas idcanvas width400 height400此浏览器不支持canvas/canvasscript src./js/index.js/scriptscriptconst 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.ho-use.cn/article/10821927.html

相关文章:

  • php商务网站开发移动4G网站建设
  • wordpress屏蔽广告宝应百度seo
  • 什么网站发布找做效果图的太原中小学网站建设
  • 桂林做网站的公司哪家最好做双语网站
  • 网站建设 图片压缩小说排行榜
  • 学校网站建设需求分析陕西锦宇建设有限公司网站
  • 推广网站广告有哪些网络软文怎么写
  • 英国零售电商网站开发移动端网站如何开发
  • 固安住房和城乡建设网站python 做网站 数据库
  • 建设银行信用卡网站登录嵌入式开发培训机构排名
  • 折再返怎么 做网站延安网站建设公司电话
  • 网站建设费入预付款什么科目做pc端网站什么开头
  • 广州市城市建设开发总公司网站wordpress怎么用万网域名
  • 电商网站的建设案例wordpress 商场源码
  • 企业商务网站优化阿里云域名空间网站建设
  • 宁波网络公司做网站sap中小企业解决方案
  • 有的网站打不开是什么原因网站访客记录
  • php网站建设外国参考文献三明城乡建设网站
  • 个人或主题网站建设实验报告wordpress主体下载
  • 单页面网站做百度推广中文字体怎么设计网站
  • 什么网站教你做早点英迈思网站建设
  • 建网站的步骤和方法网站运营者
  • 网站策划书多用户商城网站建设
  • 专门 做鞋子团购的网站莱芜雪野湖天气
  • seo优化方法网站快速排名推广渠道大连网站制作报价
  • 网站建设运营怎么办浅谈网站建设的目的和意义
  • 怎么查看网站的pv uv高端网站源码
  • 网站建设推广软文案例玩具网站模板
  • 汽车门户网站管理系统的详细设计与实现黄骅贴吧二手房
  • linux 做网站数据库帝国cms 孕婴网站模板