Мне удалось создать базовый движок воксела, который использует Perlin Noise для создания массива моделей. Все прошло хорошо, но как только я перевернул мир размером до 200x200 блоков, я получаю ОГРОМНОЕ отставание. Я считаю, что это происходит, потому что я каждый отдельный рендеринг. Как я могу это исправить? Я слышал о том, чтобы использовать куски, но я не могу на самом деле окунуться в них. Я отправлю код по запросу: D Какие-нибудь идеи?Огромное отставание при рендеринге двигателя Voxel LIBGDX
0
A
ответ
1
Оказание каждого вокселя индивидуально, очевидно, является причиной задержки. Чтобы исправить это, вы должны визуализировать «куски» вокселов одновременно, а не каждый воксель отдельно.
Chunks - небольшие массивы вокселей. Для каждого куска обычно генерируется сетка и буфер вершины, так что вы можете отображать каждый кусок.
// Simple Chunk with the size 32x32x32 voxels.
struct Chunk {
// Constants:
static constexpr int c_dim = 32;
// Voxel array:
unsigned char voxels[c_dim*c_dim*c_dim];
// Vertex buffer:
GLuint vbo;
GLuint drawCount;
};
Мир затем состоит из нескольких кусков, используя карту/unordered_map.
class World {
public:
...
private:
// a string containing "x|y|z" is an easy way of expressing the key.
std::map<std::string, Chunk*> m_chunks;
};
/r/VoxelGameDev/имеет кучу ресурсов о разработке двигателей вокселей. Ниже приводится список статей/ресурсов: https://www.reddit.com/r/VoxelGameDev/wiki/index
Смежные вопросы
- 1. LibGDX игра тормозит при рендеринге
- 2. OutOfMemoryError при рендеринге в libgdx
- 3. LibGDX, прерывистое отставание при перемещении объекта
- 4. Производительность Bad SpriteBatch при рендеринге tilemap [LibGDX]
- 5. LibGDX Box2DLights бросает ошибку при рендеринге
- 6. Android google отображает огромное отставание при добавлении цветных маркеров
- 7. GWT Отставание или медленное при рендеринге текстового поля
- 8. UITableView отставание при прокрутке
- 9. отставание при прокрутке
- 10. UICollectionView отставание при прокрутке
- 11. Отставание при показе WebView
- 12. OpenGL ES сбой при рендеринге кода при рендеринге
- 13. Реагирование реквизита только при рендеринге при повторном рендеринге
- 14. Плитки, не полностью обновляющиеся в рендеринге в libgdx
- 15. Маска положения при рендеринге
- 16. EmberJS: проблема при рендеринге
- 17. JTable разрывание при рендеринге
- 18. NoMethodError при рендеринге частичного
- 19. Ошибка при рендеринге шаблона?
- 20. AndEngine - отставание при воспроизведении звука
- 21. Отставание при прохождении между вкладками?
- 22. Минимизировать отставание при использовании System.Speech.Synthesis
- 23. Voxel 3d «grid»
- 24. Лучший двигатель/язык Voxel?
- 25. Lightmapping with Voxel Geometry
- 26. Быстрый обзор Voxel 2D
- 27. 3D voxel angled plane
- 28. Triangle-Cube/Voxel Intersection
- 29. Vulkan: утечка памяти при рендеринге
- 30. Проблема при проверке и рендеринге