У меня очень простая карта местности с плитками! Все плитки одинакового размера, только разная высота (значение z)! Я могу отрендерить их нормально, но есть тысячи плиток, но не все из них отображаются на экране, а только часть (которая находится впереди обзора)! Итак, я делаю пакетный рендеринг, собираю только плитки, которые появляются на экране, а затем визуализирую их все за один вызов! Я пытаюсь использовать D3DXVec3Project для проецирования вершины из мирового пространства в пространство экрана, а затем определять, какой треугольник отображается на экране, однако это очень медленно, вызовите это для всей карты, занимающей 7 мс (около 250x250 вызовов).
Прямо сейчас я использую iso view (D3DXMatrixOrthoLH), нет камеры или глаза, когда я хочу перемещаться по карте, я просто перевожу мир!
Я думаю, что это очень распространенная проблема, с которой все движки должны сталкиваться при оптимизации, но я не могу ее найти! Это видимое обнаружение, отсечение или отсечение ...? Спасибо! Должен ли я просто визуализировать все плитки на экране и позволить DirectX автоматически обрезать нас? (Если я хорошо помню, в прошлый раз, когда я пытаюсь отрендерить их все, это все еще очень медленно)
img: http://i1335.photobucket.com/albums/w666/greenpig83/terrain2_zps24b77283.png