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

怎么建设网站网页游戏公司注册地址可以是住宅

怎么建设网站网页游戏,公司注册地址可以是住宅,wordpress优化分析,做网站有名的公司WebGL 正交投影 正交投影(Orthographic Projection)是WebGL中常用的一种投影方式,它保持物体的平行线在投影后仍然平行,不会产生透视效果(近大远小)。 正交投影基础 正交投影的特点是: 保持物体的实际尺寸不变平行线在投影后仍保持平行没…

WebGL 正交投影

正交投影(Orthographic Projection)是WebGL中常用的一种投影方式,它保持物体的平行线在投影后仍然平行,不会产生透视效果(近大远小)。

正交投影基础

正交投影的特点是:

  • 保持物体的实际尺寸不变
  • 平行线在投影后仍保持平行
  • 没有透视缩短效果

在WebGL中实现正交投影

1. 使用矩阵库

通常我们会使用矩阵库(如gl-matrix)来创建正交投影矩阵:

import { mat4 } from 'gl-matrix';// 创建正交投影矩阵
const projectionMatrix = mat4.create();
mat4.ortho(projectionMatrix, left, right, bottom, top, near, far);

2. 手动创建正交投影矩阵

也可以手动创建正交投影矩阵:

function createOrthographicMatrix(left, right, bottom, top, near, far) {const dst = new Float32Array(16);dst[0] = 2 / (right - left);dst[1] = 0;dst[2] = 0;dst[3] = 0;dst[4] = 0;dst[5] = 2 / (top - bottom);dst[6] = 0;dst[7] = 0;dst[8] = 0;dst[9] = 0;dst[10] = -2 / (far - near);dst[11] = 0;dst[12] = -(right + left) / (right - left);dst[13] = -(top + bottom) / (top - bottom);dst[14] = -(far + near) / (far - near);dst[15] = 1;return dst;
}

3. 在着色器中使用

顶点着色器中应用正交投影矩阵:

attribute vec4 a_position;
uniform mat4 u_projection;
uniform mat4 u_modelView;void main() {gl_Position = u_projection * u_modelView * a_position;
}

正交投影参数解释

mat4.ortho或手动创建函数接受6个参数:

  • left - 左裁剪面
  • right - 右裁剪面
  • bottom - 下裁剪面
  • top - 上裁剪面
  • near - 近裁剪面
  • far - 远裁剪面

这些参数定义了一个立方体裁剪空间,所有在这个空间内的物体都会被渲染。

示例使用

// 设置正交投影
const projectionMatrix = mat4.create();
// 创建一个从-400到400宽,-300到300高,-1到1深的投影空间
mat4.ortho(projectionMatrix, -400, 400, -300, 300, -1, 1);// 在渲染循环中
gl.uniformMatrix4fv(uProjectionLocation, false, projectionMatrix);

正交投影 vs 透视投影

特性正交投影透视投影
平行线保持平行会聚于消失点
尺寸保持相同随距离减小
用途CAD、2D游戏、UI3D游戏、真实场景

调整正交投影

可以根据画布大小动态调整正交投影:

function updateProjectionMatrix(gl) {const aspect = gl.canvas.clientWidth / gl.canvas.clientHeight;const width = 800;  // 你希望的世界单位宽度const height = width / aspect;mat4.ortho(projectionMatrix, -width/2, width/2, -height/2, height/2, -1, 1);
}

正交投影非常适合2D渲染、UI元素或需要保持物体实际尺寸不变的3D应用。


文章转载自:

http://MblOK5Zx.bybhj.cn
http://KfleAOWm.bybhj.cn
http://83DnIfkL.bybhj.cn
http://etMzfMF7.bybhj.cn
http://t8B5NrEp.bybhj.cn
http://j2gB6ibw.bybhj.cn
http://GTmrbkwx.bybhj.cn
http://CnfJ2A2K.bybhj.cn
http://RBwxYOm8.bybhj.cn
http://PdGJ99oF.bybhj.cn
http://pcxmaCpy.bybhj.cn
http://Hh3pzraS.bybhj.cn
http://FnuMjfJM.bybhj.cn
http://69D4u737.bybhj.cn
http://BjDAsSll.bybhj.cn
http://PYAEXlrH.bybhj.cn
http://ikaWcbPn.bybhj.cn
http://IYeRsoLa.bybhj.cn
http://Ky88h9Zy.bybhj.cn
http://XH615OW3.bybhj.cn
http://Gi3RYbgI.bybhj.cn
http://33iAkeC5.bybhj.cn
http://1zzguv86.bybhj.cn
http://nQnRufQl.bybhj.cn
http://CTdIZzcH.bybhj.cn
http://Ja3NPWEV.bybhj.cn
http://JuNwhxty.bybhj.cn
http://HZKbFa1q.bybhj.cn
http://hxo2jD2V.bybhj.cn
http://PSqgenhs.bybhj.cn
http://www.dtcms.com/wzjs/686663.html

相关文章:

  • 网站推广一般怎么做成都工信部网站
  • 城厢区住房和城乡建设局网站做门户网站需要多少钱
  • 设计网站页面用ps做网站页面
  • 做本地网站赚钱网站设计公司排行榜
  • 祖庙高明网站建设做百科需要发哪些网站
  • 网站建设 前景 html5营销网站html
  • 中国蔬菜网网站建设电话个人网站名称创意大全
  • 国家品牌网宁波seo外包服务
  • 智能网站建设背景长沙网站设计流程
  • 400电话 网站建设wordpress注册授权
  • .net企业门户网站开发重庆软件开发工资一般多少
  • 沈阳网站建设与开发网站 第三方登录
  • 佛山网站制作专家做设计一般在那个网站找图
  • 怎么做系统网站做网站.net和php哪个简单
  • 企业网站 数据库设计怎么自己制作app
  • 教育网站的开发与建设论文合肥网站建设首选 晨飞网络
  • 大型定制网站最贵建设多少钱余姚微信网站建设
  • 专业网站建设价格怎么搭建网址
  • 东城网站建设哪家好定制女仆
  • 服务器迁移对做网站的影响做系统用哪个网站好
  • 网站扫二维码怎么做的地坪漆东莞网站建设技术支持
  • 电商网站设计思路手机编辑网页的软件有哪些
  • 电商网站统计怎么做免费微信小程序免费制作平台
  • ASP网站开发步骤与过程郑州做网站公司汉狮价格
  • 创建网站的步骤wordpress页眉
  • 一流的低价网站建设wordpress 淘宝
  • 在线免费做网站网站是怎么做出来的
  • 新网站多久被百度收录建服务网站需要多少钱
  • 韩国做游戏的电影 迅雷下载网站提示网站正在建设中
  • 建设网站如何加入搜索wordpress浮动窗插件