Vulkanscenegrapra (VSG), es una biblioteca de gráficos moderna de la plataforma cruzada y de alto rendimiento basada en la API de gráficos Vulkan/Compute. El software está escrito en C ++ 17 y sigue las mejores prácticas CPPCoreGuidelines y Foss. El código fuente se publica bajo la licencia MIT, con la excepción de Vulkan.h, utilizado para Vulkan Extensions, que está bajo la Licencia APACHE 2.0.
Este repositorio contiene encabezados C ++ y fuente y CMake crea scripts para construir la biblioteca libvsg. Se proporcionan bibliotecas y ejemplos de soporte adicionales en repositorios separados, los enlaces a estos se proporcionan a continuación. El software actualmente se construye en Linux (variantes de escritorio a través de Jetson & Raspberry Pi), Windows (VisualStudio, Mingw & Cygwin), Android e MacOS & iOS (usando Moltenvk).
Enlaces a más información
El sitio web Vulkanscenegraph.org proporciona una lista detallada de características, tutoriales y documentación de referencia, mientras que este repositorio proporciona el código fuente y la creación de soporte para crear la biblioteca Vulkanscenegraph. Enlaces rápidos a recursos alojados en el sitio web:
- Características: recorrido por las características que encontrará en los proyectos vulkanscenegrafios y complementarios.
- Capturas de pantalla: capturas de pantalla de ejemplos de vulkanscenegra y bibliotecas y aplicaciones de terceros
- Tutoriales: tutorial MULIT-Part que lo lleva de introducción a gráficos de escena hasta múltiples subprocesos y optimización.
- Documentación: Doxygen generó documentación de referencia y enlaces a materiales de aprendizaje de terceros
- Discusión - Foro de discusión organizado en GitHub.
- Servicios: lista de empresas conectadas al proyecto Vulkanscenegraph que puede proporcionar servicios profesionales
Enlaces a proyectos complementarios que ofrecen características adicionales
Organizado como parte del VSG-Dev:
- Lectura y escritura de VSGXChange de imágenes de terceros y modelos 3D y soporte HTTP.
- VSGEXMPLES PRUEBAS Y EJEMPLOS.
- OSG2VSG OpenScenegraph Integration Library que permite la conversión de OSG a VSG Scene Graph y el uso de cargadores OpenScenegraph.
- VSGIMGUI IMGUI Integración habilitando UI en la ventana gráfica.
- VSGQT QT Integración con vulkanscenegra.
- La carga y representación de la nube de puntos 3D VSGPoints para vulkanscenegra con soporte de paginación de bases de datos y escalabilidad hasta miles de millones de puntos.
- VSGUNITY CLUGIN para la unidad que proporciona exportación al formato binario vulkanscenegra nativo/ASCII.
- MyFirstVSGAPPLICATION SIMPLE Aplicación VSG Standalone que puede usarse como plantilla para sus propias aplicaciones.
- Proyecto de plantilla VSGFramework que utiliza cmake fetchContent para atraer todas las bibliotecas principales asociadas con el vulkanscenegrafo y las dependencias y las construye.
Proyectos comunitarios:
- VSGSDL Integración SDL con vulkanscenegra.
- VSGVR OpenVr Integración con vulkanscenegra.
- VSGCS 3D Tiles e Cesium Ion Integration
- Vsgearth Osgearth Integration
- Rocky 3D GeoSpacial Application Engine (Vulkan / C ++ 17 / VSG). El sucesor de Pelican Mapping a Osgeerth.
Guía rápida para construir el VSG
Prerrequisitos:
- Requerido: compilador de C ++ 17, es decir, G ++ 7.3 o posterior, Clang 6.0 o posterior, Visual Studio S2017 o posterior.
- Requerido: CMake 3.7 o posterior.
- Requerido: Vulkan 1.1 o posterior.
- Opcional: Glslang 14.0 o posterior. Solo se requiere si se necesita la compilación de sombreador en tiempo de ejecución.
Se sabe que las versiones de dependencia anteriores funcionan, por lo que se han establecido como mínimo actual, es posible construir con versiones anteriores. Si encuentra el éxito con versiones anteriores, háganoslo saber y podemos actualizar la información de la versión.
Si bien puede instalar bibliotecas y encabezados de desarrollo de Vulkan y Glslang de los repositorios de terceros, estos pueden ser más antiguos, por lo que para las últimas versiones también puede usar el Vulkansdk proporcionado por Lunarg. Puede descargar Vulkansdk de Lunarg, desempaquetar en un directorio local y establecer la variable de entorno Vulkan_SDK en el directorio incluir/Lib dentro de él.
Instrucciones de compilación de la línea de comando:
Para construir e instalar la biblioteca estática libvsg (.a/.lib) en la fuente:
git clone https://github.com/vsg-dev/VulkanSceneGraph.git
cd VulkanSceneGraph
cmake .
cmake --build . -j 16 -t install
Los detalles completos sobre cómo construir el VSG (Unix/Windows/Android/MacOS) se pueden encontrar en el archivo Install.md.