2011-11-05 16 views
9

Por lo tanto, estoy buscando un motor gráfico vóxel con librerías C++ (juego orientado). Solo por diversión, sería la primera vez que utilizo una biblioteca gráfica, por lo que no tiene que ser muy compleja o poderosa, simplemente fácil de entender.¿Conoce cualquier biblioteca de vóxeles de gráficos C++?

+0

¿Google? Escribe uno? – NickLH

+0

¿De qué tipo de vóxeles estás hablando? Voxels de Minecraft (donde los cuadrados son grandes y con textura) o vóxeles tradicionales (donde los cuadrados son lo más pequeños posible)? –

+0

@Nicol Bolas, un estilo de Minecraft, tal vez no tan grande, pero lo suficientemente grande como para estar seguro de que es un cubo. Pero al final, realmente no importa, solo quiero profundizar un poco en los gráficos de vóxel. –

Respuesta

21

Tenga en cuenta que los vóxeles son solo un concepto. Hay varias maneras de manejarlos como datos, y varias formas de visualizarlos (extraer geometría, raycasting, ...).

Es un punto de datos en una cuadrícula de espacio fijo, eso es todo. Qué representa este punto o qué primitiva geométrica asocias con él, eso es totalmente específico de la implementación. La gente generalmente los visualiza como cubos que ocupan toda la celda en la cuadrícula de espacio fijo, por eso los asocias con cubos.

La aplicación más famosa/popular basada en vóxeles, Minecraft, las visualiza utilizando la canalización estándar de rasterización como cubos centrados en una cuadrícula. (Académico) Los sistemas como GigaVoxels realizan rastreos de rayos en una estructura Sparse Voxel Octree para generar imágenes.

que he encontrado las siguientes bibliotecas orientadas voxel-:

Y aquí hay una publicación de reddit con 20 años de código de motor de vóxel: https://www.reddit.com/r/VoxelGameDev/comments/3fvjb4/20_years_of_voxel_engines_source_code_included/

+0

+1 para Minecraft. –

6

estoy involucrado con el desarrollo de una biblioteca de voxel moderno llamado PolyVox que proporciona almacenamiento de volumen (incluyendo paginación), la extracción de la superficie, así como características adicionales como ray casting y cálculo de oclusión ambiental. Sin embargo, no es un motor de juego, pero proporciona todo el material de vóxel que necesita para conectarse a cualquier otra cosa. Es completamente de código abierto y hay una buena developer community para ello. En los foros, la gente siempre está dispuesta a responder preguntas generales sobre la representación de vóxeles, etc.

+0

¡Gracias! Definitivamente voy a profundizar en eso. –

6

Todo está en implementación y ejecución. Espero que estos puedan ayudarte en la búsqueda de lo que necesitas. Sin embargo, encontré este enlace que podría ser útil.

Field3D - una biblioteca de código abierto para almacenar datos voxel. Proporciona clases de C++ que manejan el almacenamiento en la memoria, así como también un formato de archivo basado en HDF5 que permite que los objetos de C++ puedan escribirse y leerse fácilmente desde el disco.

(también)

Minetest - juego de código abierto muy similar a Minecraft

Voxel Article - explicación gráfica de lo que es un voxel.

Cuestiones relacionadas