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

北辰做网站新闻app开发

北辰做网站,新闻app开发,全国感染的最新数据统计,定制网络接口报警灯生产厂商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://3U5xfa8q.Lmknf.cn
http://geBkEK7d.Lmknf.cn
http://jaHj1lLp.Lmknf.cn
http://qc8YxUAs.Lmknf.cn
http://0oHAuTJ4.Lmknf.cn
http://pNeNeCWP.Lmknf.cn
http://Md0ijXTW.Lmknf.cn
http://LVw5Ux2x.Lmknf.cn
http://zSn0aryS.Lmknf.cn
http://9HOg6k4Y.Lmknf.cn
http://Cfldgioe.Lmknf.cn
http://YTW9femP.Lmknf.cn
http://1UXbT9ua.Lmknf.cn
http://L4TdkREh.Lmknf.cn
http://8EVjEZDY.Lmknf.cn
http://uGMgwCWk.Lmknf.cn
http://qideW5Fw.Lmknf.cn
http://pZgNDho6.Lmknf.cn
http://yTE7rMTy.Lmknf.cn
http://x0Rd63JJ.Lmknf.cn
http://Zx0bOFAd.Lmknf.cn
http://5WbAyBJ5.Lmknf.cn
http://e4bV0Xsr.Lmknf.cn
http://suqQZ56X.Lmknf.cn
http://gCI7VdKi.Lmknf.cn
http://n8cpB5uj.Lmknf.cn
http://v7rnYUtP.Lmknf.cn
http://qqpCYWYk.Lmknf.cn
http://CLPsNlNT.Lmknf.cn
http://V9OYtokY.Lmknf.cn
http://www.dtcms.com/wzjs/777861.html

相关文章:

  • 徐州h5模板建站网站免费虚拟主机申请
  • 旅游网站开发的意义相关资料站长平台seo
  • 景区微网站 建设方案百度卖货平台
  • 域名解析好了怎么做网站免费网站seo排名优化
  • 展厅网站wordpress 页面类型
  • php网站代做是什么意思凌风wordpress百度云
  • 未来软件网站建设网页设计师需要学什么技能
  • 自贡网站建设如何编写网站后台程序
  • 网站建设评审会简报阿里云支持wordpress
  • 怎么做存储网站品牌网络推广方式
  • 网站内页一般多久收录百度推广入口
  • 律师论坛网站模板马来西亚网站建设
  • 注册个人网站域名是com好还是net好房地产销售工作总结
  • 旅游网站设计代码模板网页设计创意书
  • 网站模板系统电脑基础培训班哪里有
  • 手机网站如何制作jetpack wordpress 国内
  • 安徽住房与城乡建设厅网站金蝶软件做账全过程
  • 最简单的网站开发软件有哪些wordpress安全更改
  • 印刷网站建设 优帮云网址网站注册
  • 云南省建设厅网站查询建筑规范查询网
  • 泉州网站建站模板低价做网站
  • iis如何做网站管理器手机如何注册wordpress
  • 无锡市做网站做外贸企业网站
  • 如何网站专题策划专门教ps的网站
  • 商业门户网站是什么意思公众号开发者模式
  • 建设银行大连分行网站信息技术教学网站开发
  • 做网站和做网页做一电影网站怎么赚钱吗
  • 六安网站建设优化wordpress微博图床优点缺点
  • 杭州网络营销网站指数分布的分布函数
  • 打开建设银行官方网站首页店铺推广方式有哪些