目录

  • (透视投影矩阵)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视锥体相关推荐

  1. DirectX11进阶5_硬件实例化与视锥体裁剪及鼠标拾取交互

    一.硬件实例化(Hardware Instancing) 硬件实例化指的是在场景中绘制同一个物体多次,但是是以不同的位置.旋转.缩放.材质以及纹理来绘制(比如一棵树可能会被多次使用以构建出一片森林). ...

  2. 【unity】性能优化之——视锥体剔除(Frustum Culling)(一)

    一.应用背景 在现代游戏中,游戏资源越来越多,游戏场景也越来越大越来越复杂,虽说硬件设备更新迭代很快,性能也日渐强大,但这还远不能缓解复杂繁多的资源带来的性能压力,因而性能优化仍然很有必要.场景资源的 ...

  3. 土圭垚㙓数学课(二)视锥体八个顶点的计算方法

    视锥体是摄像机可见的空间,看上去像截掉顶部的金字塔.视锥体由6个裁剪面围成,构成视锥体的4个侧面称为上左下右面,分别对应屏幕的四个边界.为了防止物体离摄像机过近,设置近切面,同时为了防止物体离摄像机太 ...

  4. OpenGL 视锥体求法

    看了这个https://blog.csdn.net/qq_31709249/article/details/80175119 是高手 讲的是假设P是空间的一点(x,y,z)写成vec4(x,y,z,1 ...

  5. 视锥体与AABB和OBB包围盒相交判断

    1.视锥体与AABB包围盒相交判断 template <class TYPE> class Frustum { public:Frustum(){}Frustum(const Frustu ...

  6. 【基础】什么是视锥体

    前言 视锥体常出现在计算机3D图形软件当中,用于定义用户的视角. 理解视锥体对掌握好3D图形图像有很大的好处. 目录 前言 视锥体 约束 总结 参考资料 视锥体 视锥体是摄像机可见的空间,看上去像截掉 ...

  7. 视锥体裁剪(从矩阵中提取6个裁剪面)

    视锥体(frustum),是指场景中摄像机的可见的一个锥体范围.它有上.下.左.右.近.远,共6个面组成.在视锥体内的景物可见,反之则不可见.为提高性能,只对其中与视锥体有交集的对象进行绘制. 视锥体 ...

  8. webgl 视锥体剔除不可见的物体

    这里新的东西就是 包围盒,就是把物体用盒子装起来,这样只需要计算面到这个是否相交,在外边,减少了很多计算量: 这个其实就是计算问题, 视锥体求的那个几个面的公式,自己用就可以了,不要问为什么,推导很麻 ...

  9. 【Unity】相机视锥体剔除算法

    视锥体剔除是Unity常用的剔除方法,其原理就是通过判定目标包围盒与组成相机视锥体的6个平面进行同侧判定,只要在6个平面之间的包围盒即为可见. 具体原理可见参考以下文章: 视锥体剔除(Frustum ...

最新文章

  1. C++中重载下标运算符[]
  2. 随机森林RF中的特征重要性的计算公式VIM
  3. SAP MM ME55 不能批量审批部分多个PR?
  4. VC/MFC分割字符串(SplitString)返回CStringArray
  5. 半监督学习下的高维图构建
  6. Google Play应用描述格式
  7. HDU 1846 Brave Game
  8. 如何自学Android--转
  9. clustering
  10. 史上最良心程序员,在代码注释里,告诉这家公司有多坑
  11. C#中的委托与事件[翻译]
  12. 关系代数基本运算_关系代数的基本和附加运算
  13. Django学习笔记《一》初始化pycharm和mysql数据库及相关环境
  14. python三引号注释_python使用三引号来注释的具体原因?
  15. 数据科学 IPython 笔记本 7.6 Pandas 中的数据操作
  16. 优质的游戏音效推荐,不容错过
  17. 明解c语言实践篇翻译_《明解c语言》已看完,练习代码此奉上
  18. 【安全】什么是0day漏洞?
  19. ftp 使用get命令下出现550 Failed to open file,但是使用put命令没问题的解决方法
  20. java web简单线上游戏_手把手教你用Java实现一个简易联网坦克对战小游戏 !

热门文章

  1. KeePass v1.21
  2. 计算机领域项目经费预算,教学项目经费预算表.doc
  3. 兆骑科创高层次人才引进服务平台,创业大赛,云路演
  4. focusky怎么制作html5,一款简单易上手的3D动态PPT制作软件Focusky
  5. VS2015 Android SDK 下载和更新失败的解决方法
  6. AMD GPU任务调度(3) —— fence机制
  7. 幽门螺旋菌会自愈吗?医生一般不告诉你
  8. 计算机视觉和机器学习代码收集
  9. 2022年自考专业考试(计算机应用)微型计算机及接口技术练习题
  10. 人脸搜索引擎准得吓人,记者:我都不知道自己拍过这些照片