OpenGL3.3视锥体
目录
- (透视投影矩阵)frustum(float left,float right,float bottom,float top,float near,float far)
- (正交投影矩阵)ortho(vec3 eye,vec3 center,vec3 up)
- (创建观察矩阵)lookAt(vec3 eye,vec3 center,vec3 up)
- glDepthRange(GLclampd,GLclampd far)(目前还不知道这个是干嘛的 设置近远平面不是glPerspective函数就行了嘛)
(透视投影矩阵)frustum(float left,float right,float bottom,float top,float near,float far)
参数中输入视景体的参数 返回一个透视投影矩阵 近平面的矩阵通过left right bottom top定义 近远平面的距离通过near和far定义
这个函数应该是和perspective()函数类似
(正交投影矩阵)ortho(vec3 eye,vec3 center,vec3 up)
返回一个正交投影矩阵 从观察点eye出发 朝向center up是头顶的方向
(创建观察矩阵)lookAt(vec3 eye,vec3 center,vec3 up)
R 是右向量,U是上向量,D是方向向量P是摄像机位置向量
使用3个相互垂直(或非线性)的轴定义了一个坐标空间,再用这3个轴外加一个平移向量来创建一个矩阵,最后用这个矩阵乘以任何向量来将其变换到这个坐标空间 所以这里就是创建了观察矩阵 可以把世界坐标系中的坐标变换到一个以摄像机为(0,0,0)的坐标空间 也可也称为眼空间
glDepthRange(GLclampd,GLclampd far)(目前还不知道这个是干嘛的 设置近远平面不是glPerspective函数就行了嘛)
glDepthRangef(GLclampf near,GLclampf far)
这只z轴上的近平面位于near 远平面位于far 默认情况是0.0,1.0 参数值设定范围一定要在[1,0]之间
OpenGL3.3视锥体相关推荐
- DirectX11进阶5_硬件实例化与视锥体裁剪及鼠标拾取交互
一.硬件实例化(Hardware Instancing) 硬件实例化指的是在场景中绘制同一个物体多次,但是是以不同的位置.旋转.缩放.材质以及纹理来绘制(比如一棵树可能会被多次使用以构建出一片森林). ...
- 【unity】性能优化之——视锥体剔除(Frustum Culling)(一)
一.应用背景 在现代游戏中,游戏资源越来越多,游戏场景也越来越大越来越复杂,虽说硬件设备更新迭代很快,性能也日渐强大,但这还远不能缓解复杂繁多的资源带来的性能压力,因而性能优化仍然很有必要.场景资源的 ...
- 土圭垚㙓数学课(二)视锥体八个顶点的计算方法
视锥体是摄像机可见的空间,看上去像截掉顶部的金字塔.视锥体由6个裁剪面围成,构成视锥体的4个侧面称为上左下右面,分别对应屏幕的四个边界.为了防止物体离摄像机过近,设置近切面,同时为了防止物体离摄像机太 ...
- OpenGL 视锥体求法
看了这个https://blog.csdn.net/qq_31709249/article/details/80175119 是高手 讲的是假设P是空间的一点(x,y,z)写成vec4(x,y,z,1 ...
- 视锥体与AABB和OBB包围盒相交判断
1.视锥体与AABB包围盒相交判断 template <class TYPE> class Frustum { public:Frustum(){}Frustum(const Frustu ...
- 【基础】什么是视锥体
前言 视锥体常出现在计算机3D图形软件当中,用于定义用户的视角. 理解视锥体对掌握好3D图形图像有很大的好处. 目录 前言 视锥体 约束 总结 参考资料 视锥体 视锥体是摄像机可见的空间,看上去像截掉 ...
- 视锥体裁剪(从矩阵中提取6个裁剪面)
视锥体(frustum),是指场景中摄像机的可见的一个锥体范围.它有上.下.左.右.近.远,共6个面组成.在视锥体内的景物可见,反之则不可见.为提高性能,只对其中与视锥体有交集的对象进行绘制. 视锥体 ...
- webgl 视锥体剔除不可见的物体
这里新的东西就是 包围盒,就是把物体用盒子装起来,这样只需要计算面到这个是否相交,在外边,减少了很多计算量: 这个其实就是计算问题, 视锥体求的那个几个面的公式,自己用就可以了,不要问为什么,推导很麻 ...
- 【Unity】相机视锥体剔除算法
视锥体剔除是Unity常用的剔除方法,其原理就是通过判定目标包围盒与组成相机视锥体的6个平面进行同侧判定,只要在6个平面之间的包围盒即为可见. 具体原理可见参考以下文章: 视锥体剔除(Frustum ...
最新文章
- C++中重载下标运算符[]
- 随机森林RF中的特征重要性的计算公式VIM
- SAP MM ME55 不能批量审批部分多个PR?
- VC/MFC分割字符串(SplitString)返回CStringArray
- 半监督学习下的高维图构建
- Google Play应用描述格式
- HDU 1846 Brave Game
- 如何自学Android--转
- clustering
- 史上最良心程序员,在代码注释里,告诉这家公司有多坑
- C#中的委托与事件[翻译]
- 关系代数基本运算_关系代数的基本和附加运算
- Django学习笔记《一》初始化pycharm和mysql数据库及相关环境
- python三引号注释_python使用三引号来注释的具体原因?
- 数据科学 IPython 笔记本 7.6 Pandas 中的数据操作
- 优质的游戏音效推荐,不容错过
- 明解c语言实践篇翻译_《明解c语言》已看完,练习代码此奉上
- 【安全】什么是0day漏洞?
- ftp 使用get命令下出现550 Failed to open file,但是使用put命令没问题的解决方法
- java web简单线上游戏_手把手教你用Java实现一个简易联网坦克对战小游戏 !