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

黄山网站建设怎么做网站推广软文

黄山网站建设怎么做,网站推广软文,打码网站如何建设,水果网站源码我会持续更新关于wegl的编程指南中的代码。 当前的代码不会使用书中的缩写,每一步都是会展开写。希望能给后来学习的一些帮助 git代码地址 :git 本篇文章将把旋转和平位移结合起来,因为矩阵的不存在交换法则 文章中设计的矩阵地址在这里​…

我会持续更新关于wegl的编程指南中的代码。

当前的代码不会使用书中的缩写,每一步都是会展开写。希望能给后来学习的一些帮助

git代码地址 :git

本篇文章将把旋转和平位移结合起来,因为矩阵的不存在交换法则

文章中设计的矩阵地址在这里​​​​​​

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../tool/cuon-matrix.js"></script>
</head><body><h1>先平移再旋转</h1><h3>可以按下按键ADSW</h3><P id="rotate"></P><P id="translate"></P><canvas id='canvas'></canvas><script>let canvas = document.getElementById('canvas');canvas.width = window.innerWidth;canvas.height = window.innerHeight;let gl = canvas.getContext('webgl');let vertexShaderSource = `attribute vec4 a_Position;uniform mat4 u_mat4; //位移变量void main(){gl_Position=u_mat4*a_Position;}`let fragmentShaderSouce = `precision mediump float;void main(){gl_FragColor = vec4(1.0,0.0,0.0,1.0);}`// 创建顶点着色器let vertexShader = gl.createShader(gl.VERTEX_SHADER);//  设置着色器源代码gl.shaderSource(vertexShader, vertexShaderSource)// 编译着色器gl.compileShader(vertexShader)//创建片元着色器let fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);// 设置着色器源代码gl.shaderSource(fragmentShader, fragmentShaderSouce)// 编译着色器gl.compileShader(fragmentShader)//创建渲染程序let program = gl.createProgram();// 附着顶点着色器和片元着色器到渲染程序gl.attachShader(program, vertexShader);gl.attachShader(program, fragmentShader);// 链接渲染程序gl.linkProgram(program);//使用当前渲染程序gl.useProgram(program)//检测着色器的链接是否正确if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {throw gl.getProgramInfoLog(program);} //创建矩阵let mate4 = new Matrix4()//旋转的角度let rotateX = 0.0;//位移的y轴的变量let translateY = 0.0;//创建三角形let positonArray = new Float32Array([0.0, 0.5, -0.5, -0.5, 0.5, -0.5])//获取变量a_Positionlet a_Position = gl.getAttribLocation(program, 'a_Position');//获取变量u_mat4let u_mat4 = gl.getUniformLocation(program, 'u_mat4');// 创建传冲区let buffer = gl.createBuffer();//绑定buffergl.bindBuffer(gl.ARRAY_BUFFER, buffer);//目标传冲去赋值gl.bufferData(gl.ARRAY_BUFFER, positonArray, gl.STATIC_DRAW);//将a_Position变量与目标传冲区进行绑定gl.vertexAttribPointer(a_Position, 2, gl.FLOAT, false, 0, 0);//开启a_Position变量gl.enableVertexAttribArray(a_Position);// Clear 颜色gl.clearColor(0.0, 0.0, 0.0, 1.0);const render = function () {//对矩阵及逆行位移mate4.setTranslate(0,translateY,0);//对矩阵进行旋转mate4.rotate(rotateX,0,0,1);//矩阵赋值gl.uniformMatrix4fv(u_mat4, false, mate4.elements);//清空gl.clear(gl.COLOR_BUFFER_BIT);//绘制gl.drawArrays(gl.TRIANGLES, 0, 3)setNum()}render()document.onkeydown = function (e) {    //对整个页面监听  var keyNum = window.event ? e.keyCode : e.which;       //获取被按下的键值  //判断如果用户按下了回车键(keycody=13)  if (keyNum == 65) {console.log('A');rotateX -= 1;  render()}//判断如果用户按下了空格键(keycode=32),  if (keyNum == 68) {console.log('D');rotateX +=1;  render()}//判断如果用户按下了空格键(keycode=32),  if (keyNum == 83) {console.log('S'); translateY-=0.1render()}//判断如果用户按下了空格键(keycode=32),  if (keyNum == 87) {console.log('W'); translateY+=0.1render();}}function setNum(){let rotate = document.getElementById("rotate");let translate = document.getElementById("translate");rotate.innerText =  `旋转的角度:${rotateX}`translate.innerText = `平移的距离:${translateY}`}</script>
</body></html>

http://www.khdw.cn/news/8058.html

相关文章:

  • 境外建设网站贴吧网址收录查询
  • 在线做heatmap的网站软文推广平台排名
  • 内部网站搭建免费游戏推广平台
  • 宁波企业制作网站网络竞价
  • 小说网站采集可以做嘛南京seo网络推广
  • 搜索引擎关键字排名优化北京网站优化服务商
  • 方正悠黑使用网站建设侵权么汕头网站建设方案维护
  • 新余网站建设人员西安做网站公司
  • 发布程序后网站有很多淘特app推广代理
  • 上海网络营销软件seo 优化技术难度大吗
  • 从网上怎么做网站营销全网整合营销推广
  • 游戏网站开发实验报告百度推广引流
  • 高校档案馆网站建设星乐seo网站关键词排名优化
  • 做网站租服务器吗seo技术是什么
  • 企业做网站推广济南seo网站排名关键词优化
  • 武威做网站的公司seo好学吗
  • 阿里云服务器可以做网站互联网广告精准营销
  • 厦门专业做网站的深圳网络推广服务公司
  • 做网站需要绑定电脑ip吗网站建设报价单
  • 电子商务网站建设常用工具网站建设与管理是干什么的
  • 赣州做网站江苏网页定制
  • 深圳做商城网站关键词查询网址
  • 万网 成品网站怎么做一个自己的网站
  • 自己的网站怎么做淘宝联盟网站seo快速排名
  • 公司简介网站模板如何自己做网站
  • 成都制作网站的公司简介做app找什么公司
  • 免费软件网站建设网络推广网站推广淘宝运营商
  • 网站源码下载后怎么用自己的网站怎么推广
  • 建设自己的淘宝优惠券网站网站内链优化
  • 扁平化设计个人网站上海快速优化排名