目录

  • (透视投影矩阵)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. 目标识别——SIFT算法
  2. android键盘映射(转)-- good 1,android UI
  3. oraclf 复杂查询练习_刷完这些烧脑的SQL练习题,复杂查询才能熟能生巧
  4. Android 自动向上滚动,android – Recyclerview在插入数据时自动向上滚动
  5. LeetCode Reverse Words in a String III
  6. POJ2228-Naptime【环形结构上的dp】
  7. Spring MVC JSR-303验证框架之Hibernate-Validator
  8. 中国农业主导市场趋势报告、技术动态创新及市场预测
  9. python中startout是什么意思_Python socket.timeout方法代碼示例
  10. dependencyManagement使用简介
  11. linux fedora14 u盘运行,用U盘安装FEDORA14后必须从U盘启动,从硬盘无法启动
  12. 面试题:浏览器事件冒泡、事件捕获
  13. python11——随机点名
  14. RelExt: Relation Extraction using Deep Learning approaches for Cybersecurity Knowledge Graph 阅读笔记
  15. java-对密码进行加密和验证的类
  16. 设备常用网管配置举例
  17. 批量修改照片尺寸大小(适应冲洗的,比如6寸)【技术菜鸟】
  18. 离线地图下载和webGIS简单应用
  19. 【KALI基础】字典生成和CRUNCH工具的运用
  20. springboot毕设项目体育馆管理系统dokja(java+VUE+Mybatis+Maven+Mysql)

热门文章

  1. 渗透之——使用reaver傻瓜式破解wifi之利用路由器WPS漏洞
  2. 内核loop支持android,如何进入安卓手机linux内核
  3. linux如何查看分区对应的什么设备,linux LVM分区查看dm设备方式介绍
  4. 手机闪存速度排行_手机机身存储到底有多快?UFS闪存和电脑固态硬盘谁更强?...
  5. android 系统升级 方法,Android Recovery 升级方法
  6. c语言自带函数游戏,c语言消除游戏(带排行榜)
  7. 密码学——复杂度问题
  8. 很好用的查看音频波形的软件cool edit pro
  9. hutool 读取扩展名文件_批量修改文件名,一键就可以
  10. 服务器文件监控软件,强大的大势至FTP文件服务器监控软件v.1.1 共享版