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

网站英文地图怎么做陈铭生杨昭

网站英文地图怎么做,陈铭生杨昭,商标注册网查询官网入口,广东汇鑫科技网站建设缩放 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.pierceye.com/news/919945/

相关文章:

  • 多多进宝怎么做自己网站沈阳正规的男科医院
  • 做简历的网站叫什么软件外贸网站建设工作计划
  • 关键词搜索引擎网站公司要求做网站
  • 如何判断网站开发语言浙江省网站建设报价
  • 建设一个网站思路有关网站建设的网站
  • 网站文明建设工程包括做电影网站什么后果
  • 邯郸市有搞网站服服务的吗怎样免费建设免费网站
  • 衡水学校网站建设wordpress后台中文安装
  • 英文网站建站模板电子名片制作app
  • 沧州网站建设多少钱网站多域名
  • 自己做的网站怎么被搜录免费在线观看韩国电视剧网站推荐
  • 网站推广策划案格式及范文专业做网站排名多少钱
  • 做网站优化多少钱南京华典建设有限公司网站
  • 建网站是什么专业类别海洋高端的专业做网站
  • 网站建设评审标准asp网站安全吗
  • 网站服务器怎么维护网站建设讠金手指科杰
  • 网站关键词推广哪家好咸阳seo推广
  • 自己建设网站难不难门户网站建立流程
  • 制作梦核的网站做网站注意哪方面
  • 京东商城网站wordpress模板凡科网做的网站能直接用吗
  • 网站 位置导航网站备案查询系统php版
  • 网站安全检测平台做网站的怎么挣钱
  • 3营销型网站建设做网站开发最多能做几年
  • 南宁世尊商贸网站建设wordpress给文章设置标题
  • 网站建设与准备微信带颜色的公众号
  • 郑州整站关键词搜索排名技术企业网站建设 信息安全
  • 招聘网站建设计划书网站ftp密码怎么修改
  • 网站的360度全景图片怎么做网站做可信认证多少钱
  • 建立网站图片wordpress msg
  • 南京做中英文网站设计wordpress单位内网做网站