3D空间坐标到2D屏幕坐标

1、相机矩阵

2、投影矩阵

3、相平面矩阵

4、应用

  • 漫游

案例一:实时修改View Matrix的三个分量,可以实现在三维场景中漫游。比如,要在场景中移动,可以修改视点位置 Eye;要拐弯了,修改参考点center;飞机 飞得不平稳左右摇晃,修改Up;要加速, 增加修改Eye的幅度;

案例二:场景标签,进行场景保存,三个分量都要重新设置。

  • 坐标拾取

方法一:MVPM的逆变换

方法二:OSG中有一条直线与场景求交的函数,拾取就不用我们自己进行矩阵变换了

  • HUD

在场景中,加一个平行投影的Camera,把这个Camera放在最后渲染和绘制,并禁用掉深度检测。

  • 多通道

OSG中的一个例子osgCluster简单的实现了 多通道;

它的原理是给每个显示通道不同 的View Matrix;具体的讲就是每个通道的 Eye和Up都一样,center却不一样;这样每个通道拼接起来就会有更宽广的视角,可以看到更广阔的区域。

相关推荐
龙湾开发6 小时前
计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 13.几何着色器(二)爆炸效果&修改图元类型
c++·笔记·学习·3d·图形渲染·着色器
3D小将18 小时前
从产品展示到工程设计:3DXML 转 STP 的跨流程数据转换技术解析
xml·3d
余弦的倒数18 小时前
海康立体相机3DMVS软件使用不同工作模式介绍
数码相机·3d
AgilityBaby19 小时前
关于在Unity项目中使用Post Processing插件打包到web端出现的问题
3d·unity·游戏引擎
weixin_514548891 天前
一种开源的高斯泼溅实现库——gsplat: An Open-Source Library for Gaussian Splatting
人工智能·计算机视觉·3d
龙湾开发1 天前
计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 12.曲面细分
c++·笔记·学习·3d·图形渲染
90后小陈老师2 天前
3D个人简历网站 5.天空、鸟、飞机
前端·javascript·3d
前端小崔2 天前
从零开始学习three.js(18):一文详解three.js中的着色器Shader
前端·javascript·学习·3d·webgl·数据可视化·着色器
广州智造3 天前
OptiStruct实例:3D实体转子分析
数据库·人工智能·算法·机器学习·数学建模·3d·性能优化
码农黛兮_463 天前
4. 文字效果/2D-3D转换 - 3D翻转卡片
3d·html·css3