В настоящее время я разрабатываю свою первую 3D-игру для школьного проекта, игровой мир полностью вдохновлен Minecraft (мир, полностью состоящий из кубов). В настоящее время я пытаюсь улучшить производительность, пытаясь реализовать объекты буфера вершин, но я застрял, у меня уже есть реализованные методы: Отбор Frustum, только отрисовка открытых граней и отбор расстояний, но у меня есть следующие сомнения:
В настоящее время у меня есть около 2 ^ 24 кубов в моем мире, разделенных на 1024 порции по 16 * 16 * 64 кубов, сейчас я делаю рендеринг в режиме немедленного режима, который хорошо работает с отбраковкой усеченного конуса, если я реализую один VBO на чанк, нужно ли обновлять этот VBO каждый раз, когда я перемещаю камеру (чтобы обновить усеченный конус)? Есть ли снижение производительности с этим?
Могу ли я динамически изменять размер каждого VBO? Или я должен сделать каждый максимально большой размер (кусок полностью заполнен объектами)?.
Должен ли я хранить каждый посещенный фрагмент в памяти или я мог бы эффективно удалить это VBO и воссоздать его при необходимости.