2010-09-06 9 views
5

Robię 3D FPS z OpenGL i tutaj jest podstawa, jak to działa. Gra jest trójwymiarową tablicą sześcianów. Znam lokalizację aktualnej kostki gracza, a także kamerę x, y, z i znam rotację x, y, z kamery. Teraz robię kwadrat wokół gracza i renderuję to, a następnie dodam dalszą mgłę. Problem jednak polega na tym, że nadal renderuję wszystko, co gracz jest z tyłu. W jaki sposób mogę selektywnie renderować tylko to, co widzi gracz, a nie renderować wszystkiego w promieniu X, tak jak to robię teraz.Algorytm do rysowania tylko tego, co widzi kamera?

Dzięki

Odpowiedz

2

Mówisz o uboju frustum, jeśli dobrze cię zrozumiem. Sugeruję, abyś spojrzał na to tutorial. Zapewniają ładne dema i wyjaśniają wszystko szczegółowo.

0

Czy kostki pokoje labirynt, przez który gracz pływa? Jeśli tak, i zakładając, że pomieszczenia są statyczne w trakcie gry, możesz użyć BSP tree, aby przemierzać scenę w kolejności głębokości, zatrzymując się, gdy miniesz gracza.