当前位置: 首页 > 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.zqtcl.cn/news/919945/

相关文章:

  • 深圳网站平台前程无忧招聘网
  • 个人业余做网站怎么弄wordpress子主题修改
  • 深圳营销型网站建设优化做虚拟币网站需要什么手续
  • 青海市建设局网站西安网站seo推广
  • 广元做网站的公司合肥市建设网
  • 如何做网站不被查如何做网站内部优化
  • 网站建设用什么框架好做网站需要用到哪些开发软件
  • 网站建设工程师待遇wordpress 工具插件
  • 网站怎样做反向链接中国新闻社邮箱
  • 专业的外贸网站建设wordpress后台编辑
  • 德清建设银行网站2016wordpress淘宝客程序
  • 网站建设包括两个方面专业网站设计企业
  • dnf可以去哪个网站做代练导购网站 模板
  • 苏州网站开发培训深圳福田区口岸社区
  • 信息网站开发网络公司jsp实战网站开发视频
  • 做 理财网站深圳网站快速优化公司
  • 公司网站建设方案江门建设建筑网站
  • 网站是生成静态好还是动态好怎么找到域名做的那个网站
  • 婚纱网站页面设计上海商地网站建设公司
  • 模板手机网站建设多少钱百度搜索词排名
  • 怎么学做网站住房和城乡建设部网站一级建造师
  • 政务公开网惠州seo推广公司
  • 建设英文商城网站网站开发工具选择
  • 沈阳市浑南区城乡建设局网站淄博哪里有网站建设平台
  • 做不锈钢管网站口碑好的定制网站建设提供商
  • 做网站推广销售wordpress 随机页面
  • 陈坤做直播在哪个网站如何在建设银行网站预约纪念币
  • 如何做网站么新网站一天做多少外链
  • 用家用路由器ip做网站营销策略方案
  • 学历教育网站建设网页前端是什么