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

网站开发开票html主页面模板

网站开发开票,html主页面模板,黄冈网站排名最高,台州网络优化我会持续更新关于wegl的编程指南中的代码。 当前的代码不会使用书中的缩写&#xff0c;每一步都是会展开写。希望能给后来学习的一些帮助 git代码地址 &#xff1a;git 接着 上一节 中 我们使用矩阵进行旋转&#xff0c;这次我们使用矩阵实现位移 <!DOCTYPE html> <…

我会持续更新关于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>
</head><body><h3>可以按下按键ADSW</h3><p><span id="num"></span></p><canvas id='canvas'></canvas><script>let canvas = document.getElementById('canvas');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);}// x的坐标移动变量let translationX = 0.0;// y的坐标移动变量let translationY = 0.0;//三角形的坐标let positonArray = new Float32Array([0.0, 0.5, -0.5, -0.5, 0.5, -0.5])// 获取顶点着色器中a_Position的存储位置let a_Position = gl.getAttribLocation(program, 'a_Position');//  获取顶点着色器中u_mat4的存储位置let u_mat4 = gl.getUniformLocation(program, 'u_mat4');// 创建bufferlet buffer = gl.createBuffer();// 绑定buffergl.bindBuffer(gl.ARRAY_BUFFER, buffer);// 向buffer中写入数据gl.bufferData(gl.ARRAY_BUFFER, positonArray, gl.STATIC_DRAW);// 向a_Position中传递变量gl.vertexAttribPointer(a_Position, 2, gl.FLOAT, false, 0, 0);// 开启a_Positiongl.enableVertexAttribArray(a_Position);//绘制gl.clearColor(0.0, 0.0, 0.0, 1.0);const render = function () {// 设置位移的变量(主列)let mate4 = new Float32Array([1.0, 0.0, 0.0, 0.0,0.0, 1.0, 0.0, 0.0,0.0, 0.0, 1.0, 0.0,translationX, translationY, 0.0, 1.0,])// 传递矩阵gl.uniformMatrix4fv(u_mat4, false, mate4)// 清空画布gl.clear(gl.COLOR_BUFFER_BIT);// 绘制图形gl.drawArrays(gl.TRIANGLES, 0, 3);setNumer()}render()document.onkeydown = function (e) {    //对整个页面监听  var keyNum = window.event ? e.keyCode : e.which;       //获取被按下的键值  //判断如果用户按下了回车键(keycody=13)  if (keyNum == 65) {console.log('A');translationX -= 0.1; render()}//判断如果用户按下了空格键(keycode=32),  if (keyNum == 68) {console.log('D');translationX += 0.1; render()}//判断如果用户按下了空格键(keycode=32),  if (keyNum == 83) {console.log('S');translationY -= 0.1; render()}//判断如果用户按下了空格键(keycode=32),  if (keyNum == 87) {console.log('W');translationY += 0.1; render();}}function setNumer (){let text = document.getElementById('num');text.innerText = `translationX:${ translationX} translationY:${translationY}`}</script>
</body></html>

http://www.sczhlp.com/news/121399/

相关文章:

  • 从事网站建设需要什么资质网站要精细是什么意思
  • 网站开发前端与后端的区别做海报有什么参考的网站
  • 如何查询网站以建设多长时间关于网站建设的图片
  • 怎么做盗版网站wordpress用别人主题
  • 吉林长春有做网站的吗外贸soho网站制作
  • 商城网站系统建设方案网页美工培训中心
  • 建设网站的相关软件沈阳手机网站建设
  • wordpress文章列表显示摘要专业关键词排名优化软件
  • 郑州专业制作网站费用如何修改网站域名
  • 宝山网站建设球鞋定制软件
  • 商水县建设局网站移动版网站模板
  • 新公司刚成立做网站商业网站的创建程序
  • 网站维护升级访问设计院项目管理系统
  • Linux驱动适配I2C/SPI例子
  • 威海外贸网站建设多少钱龙岩网上通缉犯名单查询
  • 阿里云虚拟主机wordpress建站教程直播软件下载网站
  • 多站点wordpress安装怎么做废品网站
  • 个人网站做什么类型好犀牛云网站建设怎么样
  • 网站可以自己建立吗网站建设制作文案
  • 自动做海报的网站互联网搜索引擎有哪些
  • 网站维护 网站后台建设知识路由器上做网站
  • 学网站建设的学校第二波新冠感染高峰
  • 网站开发程序都有什么成都视频剪辑培训
  • 做搜索引擎的网站有哪些wordpress支持swf播放
  • 湛江网站优化快速排名做易购网站
  • 网站php源码做网站全体教程
  • 广州网站建设快速排名软件开发工具链
  • 营销型的网站企业wordPress回复表情
  • 网站建设都有什么技术支持曲靖企业网站
  • 免费关键词排名优化培训行业seo整站优化