繁体   English   中英

OpenGL,剔除视图外的对象

[英]OpenGL, Culling objects that are outside the view

就我而言,我想渲染在一个大边界框中随机分布的50,000个或更多的多维数据集,我现在不想使用实例化,因此我必须渲染每个多维数据集,我想通过剔除外面的多维数据集来提高性能相机视图。 我有一个具有两个矩阵viewprojection的相机类,每个多维数据集都有自己的边界框,因此我打算检查每个帧,如果相机视图边界框包含每个多维数据集的中心(如果是),请调用其draw函数(如果不忽略)它。

我有3个向量,分别是眼,目标和上眼,以及投影的宽度,高度,近,远和FOV。

所以我有两个问题:

  • 这是正确的方案吗? 我将计算每个帧的相机视图合并框,然后测试每个立方体。
  • 如何计算每帧的相机边框?

我从这里获得了一个想法, how_to_check_if_vertex_is_visible_for_user对我来说很好用。

将相机的投影视图矩阵乘以3D空间中的任意点,可见的点应在[-1,1]之间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM