Ogre 3D
Open-Source Vulkan C++ API
Our great sponsors
Ogre 3D | Open-Source Vulkan C++ API | |
---|---|---|
3 | 36 | |
3,730 | 2,911 | |
1.8% | 1.8% | |
9.5 | 9.1 | |
3 days ago | 5 days ago | |
C++ | C++ | |
MIT License | Apache License 2.0 |
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.
Ogre 3D
-
Not only Unity...
OGRE (MIT/C++) https://github.com/OGRECave/ogre
-
⟳ 4 apps added, 43 updated at f-droid.org
Ogre Sample Browser (version 13.2.4): Object-Oriented Graphics Rendering Engine - Samples
- Ogre 13.0.0 released! Open Source game engine.
Open-Source Vulkan C++ API
-
what math is required?
It might be useful to maybe look at the Vulkan.hpp examples since you can do the same in about 200 lines of code. https://github.com/KhronosGroup/Vulkan-Hpp/blob/main/samples/15_DrawCube/15_DrawCube.cpp
- Vulkan-Hpp now provides C++20 module interface file
-
How do you guys organize everything?
Wow that library looks amazing, I'll definitely be using it. Bonus that it's official from the Khronos Group. https://github.com/KhronosGroup/Vulkan-Hpp
-
An idea to ease wrapping C libraries in C++.
Even auto-generated c++ wrappers like vulkan-hpp require lots of manual maintenance.
-
Anybody know why V-EZ has not been updated in 5 years?
Ultimately I went with vulkan.hpp RAII bindings, even though that way also has some learning curve and I couldn't find any documentation other than the RAII programming guide. It's great for getting started, but could use a complementary auto-generated API doc. There are also decent programming samples, which really suck for getting started, but otherwise do a good job of presenting concepts they focus on. Putting the available resources together I was able to get a project going in two weekends.
-
Using enum classes as bitmasks
This is exactly how the official Vulkan C++ API, Vulkan-Hpp does it. For the precise example mentioned in the blog post:
-
Recommendations on how to start a small Vulkan project
Or the vulkan.hpp RAII samples would be a good place?
-
What's the most hilarious use of operator overloading you've seen?
For a real-life example: consider the vk::raii namespace of Vulkan-Hpp, where the developers have posted examples. The vk::raii::su namespace has a bunch of free functions that one might think are associated with a Vulkan instance/object (in fact, the Vulkan Tutorial does implement them as member functions), but they are much nicer when used as pure functions. It keeps the class/struct definition itself nice and clean.
-
Vulkan-HPP + Vulkan C API == Aliasing Bugs!
final c++17 draft (N4659) first post-publication draft after c++20 (N4868) vulkan-structs.hpp (containing the vk::ImageCreateInfo definition) VkImageCreateInfo struct
What are some alternatives?
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
GLFW - A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
OpenSceneGraph - OpenSceneGraph git repository
Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
urho3d - Game engine
o3de - Open 3D Engine (O3DE) is an Apache 2.0-licensed multi-platform 3D engine that enables developers and content creators to build AAA games, cinema-quality 3D worlds, and high-fidelity simulations without any fees or commercial obligations.
Irrlicht - An automatically updated mirror of the Irrlicht SVN repository on sourceforge
OpenVDB - OpenVDB - Sparse volume data structure and tools
magnum - Lightweight and modular C++11 graphics middleware for games and data visualization