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

汤阴有没有做网站的公司微信小程序项目源码

汤阴有没有做网站的公司,微信小程序项目源码,做网站公司599,网站有死链怎么处理缩放 1 #xff09;原理 缩放可以理解为对向量长度的改变#xff0c;或者对向量坐标分量的同步缩放 如下图#xff0c;比如让向量OA 收缩到点B的位置#xff0c;也就是从OA变成OB#xff0c;缩放了一半 2 #xff09;公式 已知 点A的位置是(ax,ay,az)点A基于原点內缩了…缩放 1 原理 缩放可以理解为对向量长度的改变或者对向量坐标分量的同步缩放 如下图比如让向量OA 收缩到点B的位置也就是从OA变成OB缩放了一半 2 公式 已知 点A的位置是(ax,ay,az)点A基于原点內缩了一半 求 点A內缩了一半后的bx、by、bz位置B 解 bx ax * 0.5 by ay * 0.5 bz az * 0.5在着色器中缩放 1 核心代码 可以对gl_Position 的x、y、z依次缩放 script idvertexShader typex-shader/x-vertexattribute vec4 a_Position;float scale 1.2; // 注意这里声明了浮点型一点要用浮点数否则会导致 UseProgram: program not valid 的警告void main() {gl_Position.x a_Position.x * scale;gl_Position.y a_Position.y * scale;gl_Position.z a_Position.z * scale;gl_Position.w 1.0; // 注意 w 的值默认1.0} /script也可以从a_Position中抽离出由x、y、z组成的三维向量对其进行一次性缩放 script idvertexShader typex-shader/x-vertexattribute vec4 a_Position;float scale 1.2;void main() {gl_Position vec4(vec3(a_Position) * scale, 1.0);} /script2 完整代码 canvas idcanvas/canvas script idvertexShader typex-shader/x-vertexattribute vec4 a_Position;float scale 1.0;void main() {gl_Position vec4(vec3(a_Position) * scale, 1.0);} /script script idfragmentShader typex-shader/x-fragmentvoid main(){gl_FragColor vec4(1.0, 1.0, 0.0, 1.0);} /script script typemoduleimport { initShaders } from ./utils.js;const canvas document.getElementById(canvas);canvas.width window.innerWidth;canvas.height window.innerHeight;const gl canvas.getContext(webgl);const vsSource document.getElementById(vertexShader).innerText;const fsSource document.getElementById(fragmentShader).innerText;initShaders(gl, vsSource, fsSource);const vertices new Float32Array([0.0, 0.1,-0.1, -0.1,0.1, -0.1])const vertexBuffer gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW);const a_Position gl.getAttribLocation(gl.program, a_Position);gl.vertexAttribPointer(a_Position, 2, gl.FLOAT, false, 0, 0);gl.enableVertexAttribArray(a_Position);gl.clearColor(0.0, 0.0, 0.0, 1.0);gl.clear(gl.COLOR_BUFFER_BIT);gl.drawArrays(gl.TRIANGLES, 0, 3); /script用js缩放图形 1 核心代码 同样的我们也可以把缩放系数暴露给js通过js 缩放图形 建立uniform变量script idvertexShader typex-shader/x-vertexattribute vec4 a_Position;uniform float u_Scale;void main() {gl_Position vec4(vec3(a_Position) * u_Scale, 1.0);} /script使用js获取并修改uniform 变量const u_Scale gl.getUniformLocation(gl.program, u_Scale) gl.uniform1f(u_Scale, 1.0)添加动画让其动起来let angle 0 !(function animate() {angle 0.05;const scale Math.sin(n) 1; // 借助三角函数正弦进行缩放 (-1, 1) 1 (0, 2)gl.uniform1f(u_Scale, scale);gl.clear(gl.COLOR_BUFFER_BIT);gl.drawArrays(gl.TRIANGLES, 0, 3);requestAnimationFrame(animate) })()2 完整代码 canvas idcanvas/canvas script idvertexShader typex-shader/x-vertexattribute vec4 a_Position;uniform float u_Scale;void main() {gl_Position vec4(vec3(a_Position) * u_Scale, 1.0);} /script script idfragmentShader typex-shader/x-fragmentvoid main() {gl_FragColor vec4(1.0,1.0,0.0,1.0);} /script script typemoduleimport { initShaders } from ./utils.js;const canvas document.getElementById(canvas);canvas.width window.innerWidth;canvas.height window.innerHeight;const gl canvas.getContext(webgl);const vsSource document.getElementById(vertexShader).innerText;const fsSource document.getElementById(fragmentShader).innerText;initShaders(gl, vsSource, fsSource);const vertices new Float32Array([0.0, 0.1,-0.1, -0.1,0.1, -0.1])const vertexBuffer gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW);const a_Position gl.getAttribLocation(gl.program, a_Position);gl.vertexAttribPointer(a_Position, 2, gl.FLOAT, false, 0, 0);gl.enableVertexAttribArray(a_Position);const u_Scale gl.getUniformLocation(gl.program, u_Scale)gl.uniform1f(u_Scale, 1);gl.clearColor(0.0, 0.0, 0.0, 1.0);gl.clear(gl.COLOR_BUFFER_BIT);gl.drawArrays(gl.TRIANGLES, 0, 3);let angle 0;!(function animate() {angle 0.05;const scale Math.sin(angle) 1;gl.uniform1f(u_Scale, scale);gl.clear(gl.COLOR_BUFFER_BIT);gl.drawArrays(gl.TRIANGLES, 0, 3);requestAnimationFrame(animate);})() /script
http://www.hkea.cn/news/14308627/

相关文章:

  • 做h5比较好的网站巴中网站开发
  • 广州微信网站建设公司哪家好十堰秦楚网公众号
  • 一手货源一件代发平台企业关键词优化公司
  • 做微商哪个网站有客源wordpress页脚居中
  • 两学一做网站视频百度seo推广软件
  • 外贸网站建设收益北京软件开发公司排名榜
  • 做的好的外贸网站公司备案证查询网站查询
  • 爱聊网站建网站金坛哪家强?
  • 网站设计与规划论文o2o电商网站开发
  • 了解龙岗网站建设网站跳转qq链接怎么做的
  • 网站产品推广怎么自己做企业网站
  • 重庆一般建一个网站需要多少钱亿网互联科技有限公司
  • 小白网站建设教程龙信建设集团网站
  • 电力建设工程最好的网站黄冈市建设银行网站
  • 深圳网站seo教程Vs做的网站调试时如何适应网页
  • 网站定制开发上海网站返利程序
  • 学编程用什么笔记本电脑好安阳专业seo地址
  • 洛阳有没有做家教的网站公众号seo排名软件
  • dw做网站的导航栏怎么做百度推广账户怎么开
  • asp.net网站第一次运行慢域名什么意思
  • 网站建设温江网站首页的概念
  • 网站app免费下载软件大全什么是搜索引擎优化?
  • 淄博市住房和城乡建设局官方网站网站目录怎么做外链
  • 三合一模板网站湖北什么是网站建设
  • 什么程序做网站用户体验好的网站
  • 网站导航背景 蓝色做网站团队
  • 网站源码文件安装教程奎屯网站制作
  • 网站开发示例宁波网站建设开发多少钱
  • 站长工具ip地址查询企业建设营销型网站步骤
  • 公司网站上传ftp教程企业信息化管理软件有哪些