c++ - 是否有任何原因要遮挡隐藏在对象后面的对象
问题描述
我仍在学习如何使用 OpenGL,我想问是否有任何方法可以使用遮挡剔除对象后面的遮挡对象(相机不可见)。我使用截锥体剔除来检测不在相机视图内的对象。另外,我只想纯粹使用过剩。不想弄乱 ARB。任何提示都非常感谢
void render() {
glColor3f(0,1,0);
spheresTotal=0;
spheresDrawn=0;
for (int i = -3; i < 3; i+=4)
for(int k = -3; k < 3; k+=4) {
spheresTotal++;
Vec3 a(i,0,k);
if (!frustumOn || (frustum.sphereInFrustum(a,0.5) != FrustumG::OUTSIDE)) {
glPushMatrix();
glTranslatef(i,0,k);
glutWireSphere(0.5,5,5);
glPopMatrix();
spheresDrawn++;
}
}
}
此代码主要参考http://www.lighthouse3d.com/tutorials/view-frustum-culling/radar-approach-testing-points/。对于像我这样的初学者来说,这是一个很好的教程。
解决方案
推荐阅读
- javascript - JavaScript 循环遍历每个 TR,并为每组 TD 分配一个值为一组 TH 的 data-label 属性
- c++ - 将值分配给 c++ 上的文件中的 2D 向量
- javascript - 如何为 es5 风格的“类”实现 Typescript 接口?
- svg - SVG 组的鼠标悬停
- c# - 序列化复杂对象并反序列化为字符串以进行存储 - 它会工作吗?
- mysql - vb.net 无法连接到 sql server
- node.js - 如何通过 REST Api 在环回中使用 Decimal128
- azure-active-directory - 使用管理员/应用程序凭据委派和模拟用户
- php - 编辑代码后MySQL数据库中的重复项
- java - 在 Java 中验证 SSH 主机密钥格式