Знаете какие-нибудь библиотеки C++ для воксельной графики?

Итак, я ищу воксельный графический движок с библиотеками C++ (ориентированный на игры). Просто для удовольствия, я впервые использую графическую библиотеку, поэтому она не должна быть очень сложной или мощной, просто простой для понимания.


person Ignacio Contreras Pinilla    schedule 05.11.2011    source источник
comment
О каких вокселях вы говорите? Воксели в стиле Minecraft (где квадраты большие и текстурированные) или традиционные воксели (где квадраты как можно меньше)?   -  person Nicol Bolas    schedule 05.11.2011
comment
@Nicol Bolas, стиль Minecraft, может быть, не такой большой, но достаточно большой, чтобы быть уверенным, что это куб. Но в конце концов это действительно не имеет значения, я просто хочу немного поковыряться в воксельной графике.   -  person Ignacio Contreras Pinilla    schedule 06.11.2011


Ответы (4)


Имейте в виду, что воксели — это всего лишь концепция. Существует несколько способов обработки их как данных и несколько способов их визуализации (извлечение геометрии, преобразование лучей и т. д.).

Это точка данных в сетке с фиксированным интервалом, вот и все. Что представляет собой эта точка или какой геометрический примитив вы с ней связываете, полностью зависит от реализации. Люди обычно визуализируют их как кубы, занимающие всю ячейку в фиксированной пространственной сетке, поэтому вы ассоциируете их с кубами.

Самое известное/популярное приложение на основе вокселей, Minecraft, визуализирует их с помощью стандартного конвейера растеризации в виде кубов, центрированных на сетке. (Академические) Системы, такие как GigaVoxels, выполняют трассировку лучей в структуру разреженного воксельного октодерева для создания изображений.

Я столкнулся со следующими воксельно-ориентированными библиотеками:

А вот пост на Reddit с кодом воксельного движка за 20 лет: www.reddit.com/r/VoxelGameDev/comments/3fvjb4/20_years_of_voxel_engines_source_code_included/

person Jeroen Baert    schedule 25.09.2012

Я занимаюсь разработкой современной воксельной библиотеки под названием PolyVox, которая обеспечивает хранение томов (включая подкачку) , извлечение поверхности, а также дополнительные функции, такие как литье лучей и расчет окружающего затенения. Однако это не игровой движок, но он предоставляет все воксельные элементы, необходимые для подключения к чему-либо еще. Это полностью открытый исходный код, и для него существует хорошее сообщество разработчиков. На форумах люди всегда готовы ответить на общие вопросы о рендеринге вокселей и т.д.

person Milliams    schedule 12.01.2012
comment
Спасибо! Я обязательно покопаюсь. - person Ignacio Contreras Pinilla; 22.01.2012

Это все в реализации и исполнении. Я надеюсь, что они могут помочь вам в поисках того, что вам нужно. Однако я нашел эту ссылку, которая может быть полезна.

Field3D — библиотека с открытым исходным кодом для хранения воксельных данных. Он предоставляет классы C++, которые управляют хранением в памяти, а также формат файлов на основе HDF5, который позволяет легко записывать объекты C++ на диск и считывать их с диска.

(также)

Minetest — игра с открытым исходным кодом, очень похожая на Minecraft.

Статья о вокселах — графическое объяснение что такое воксель.

person iKlsR    schedule 16.07.2012

http://voxelstein3d.sourceforge.net/

person Goz    schedule 05.11.2011
comment
Я вижу, что он использует Voxlap. Это хорошая отправная точка. Спасибо - person Ignacio Contreras Pinilla; 06.11.2011