VulkanSceneGraph
liblava
VulkanSceneGraph | liblava | |
---|---|---|
7 | 4 | |
1,185 | 751 | |
- | 1.5% | |
9.8 | 8.6 | |
6 days ago | 4 days ago | |
C++ | C++ | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
VulkanSceneGraph
-
Vulkan all the way: Transitioning to a modern low-level graphics API in academia
I have not used this, but heard good things about Vulkan Scene Graph. https://github.com/vsg-dev/VulkanSceneGraph Like Open Scene Graph, it's more than just a scene graph. It provides math and geometry among other abstractions for computer graphics.
- Vulkan Scene Graph. The Open Scene Graph Successor
-
Beginner question: Is Vulkan like OpenGL except more focused on concurrency?
In fact, there is now a VulkanSceneGraph ( https://github.com/vsg-dev/VulkanSceneGraph ) from the authors of OpenSceneGraph that does exactly what OSG does, but atop Vulkan. Not everything is identical between VSG and OSG, but VSG is definitely a next-generation OSG written atop Vulkan. It addresses many of the limiting design decisions that held OSG back, and is significantly faster than OSG even ignoring the speedup of Vulkan's own efficiencies.
- The current state of GPU API's and why I wish V-EZ hadn't died.
-
Cross-platform 3D engine recommendation
If I were starting from scratch I'd go with VulkanSceneGraph though https://github.com/vsg-dev/VulkanSceneGraph
- Examples of good Vulkan code organization and abstractions?
-
Visualization Libraries On Top Of Vulkan
Perhaps https://github.com/vsg-dev/VulkanSceneGraph will be of some interest.
liblava
-
Vulkan all the way: Transitioning to a modern low-level graphics API in academia
Sorry for late response! The one I like most is LibLava https://github.com/liblava/liblava I contributed a few features that it was missing for me, and a few other people have done the same, so it's somewhat battle tested. At least two people have used it in academic projects. I like that it gives you full access to the low level parts of Vulkan while still providing high level abstractions over a lot, especially the render loop. The biggest issue imo is lackluster documentation, but it's fairly well organized and readable source code. Build times are also pretty long due to its many dependencies.
-
Any C++ open source projects for beginners?
When I was pretty new to C++, I made some contributions to liblava, because it was missing features I wanted to use. Exploring its codebase taught me a lot about perfect forwarding, template metaprogramming, and Vulkan. I think it's a pretty nice modern codebase, if you're interested in graphics. There are some open issues for feature requests, and the maintainer is very friendly.
-
Just released: liblava 2022 alpha / v0.7.2 - Free demo collection on itch.io
tutorial, guide and sources: https://git.io/liblava
-
The deprecation of RenderScript is infuriating
Until your users start complaining about the performance. If setting up Vulkan is your pain point (which, I can understand, it's a verbose chunk), libraries like liblava provide a very nice abstraction over things.
What are some alternatives?
The-Forge - The Forge Cross-Platform Rendering Framework PC Windows, Steamdeck (native), Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2
VulkanHelper - A simple helper interface between Vulkan C API and C++ containers
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Yave - Yet Another Vulkan Engine
ultimatepp - U++ is a C++ cross-platform rapid application development framework focused on programmer's productivity. It includes a set of libraries (GUI, SQL, Network etc.), and integrated development environment (TheIDE).
skia-opengl-emscripten - DEPRECATED! ~~C++ HTML/CSS UI. Supports subset of HTML/CSS. Based on chromium/cobalt.foo without JavaScript overhead. Uses SKIA 2D graphics library. Can be used to build UI for cross-platform app, game or website. Can support browser as HTML5 web framework or WebGL UI renderer.~~
vulkan-guide - Introductory guide to vulkan.
Lumos - Cross-Platform C++ 2D/3D game engine
vuh - Vulkan compute for people
webgpu-headers
renderdoc - RenderDoc is a stand-alone graphics debugging tool.