Я все еще изучаю, как использовать OpenGL, и я хочу спросить, есть ли какие-либо способы использовать окклюзию, отбраковывая закрытый объект позади объекта (который не виден камере). Я использовал отбраковку усеченного конуса для обнаружения объекта, который не находится внутри камеры. Кроме того, я хотел бы использовать только перенасыщение. Не хочу связываться с АРБ. Любой совет очень ценится
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/. Это хороший учебник для начинающих, как я.