Open-Source Vulkan C++ API
urho3d
Open-Source Vulkan C++ API | urho3d | |
---|---|---|
36 | 24 | |
3,215 | 4,265 | |
1.3% | - | |
9.1 | 9.8 | |
8 days ago | about 2 years ago | |
C++ | C++ | |
Apache License 2.0 | 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.
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
urho3d
-
Which engine/program do you use?
Urho3D, an open source C++ game engine.
-
C++ Game Engine?
I believe Urho3d supports MacOS (see 'about' page on the legacy website).
-
Any Small c++ Engine for an fps game
Urho3D
-
I'd like to learn game engine development - where to even start?
If you're literally clueless your best bet is to first start learning with an existing clean-ish engine like Urho3D implementing whatever feature/screwing-around or start with a framework like nVidia's Donut that gets you your window and basic rendering in place.
-
Game Engine Renderer Architecture regarding UI
I would recommend tracking through the gist of Urho3D's batch/batchqueue stuff as it's a reasonable setup that is very intelligible (if you speak C++), it's not the greatest thing on the planet but you should be able to roughly grok it in an afternoon. Doing draw batch-pumps greatly streamlines the final drawing code.
-
Game engine for programmars
You could try Urho3D or its newer fork rbfx.
-
Preferred game engine
I use an engine called rbfx which is a fork of the Urho3D engine. A lot of it is just the fact that I've been using it for over a decade, so I am comfortable with it. I'm a programmer, not really comfortable with integrated editor engines such as Unity or Godot, and the easy C++ extensibility of the engine appeals to me. Plus it's decently powerful, and well supported on a lot of platforms (I build for Windows, WebGL, and very occasionally RPi for the most part) and is open source to satisfy that stubbornly libertarian side of my character.
-
What is the lightest C++ 3D game engine for Linux?
You might be interested in Urho3D.
-
I need a REALLY lightweight engine
If you don't mind something experimental, there is a C# version of Urho3D that is in fairly active development. There is also a C#-scriptable branch of the Urho3D fork, rbfx, located here. Both of these projects are still pretty in-the-works, but are still pretty usable.
- achieving 00's / ps2 graphics
What are some alternatives?
Ogre 3D - scene-oriented, flexible 3D engine (C++, Python, C#, Java)
DirectXTK - The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++
Irrlicht - An automatically updated mirror of the Irrlicht SVN repository on sourceforge
Atomic Game Engine - The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript
OpenSubdiv - An Open-Source subdivision surface library.
OpenSceneGraph - OpenSceneGraph git repository
OpenVDB - OpenVDB - Sparse volume data structure and tools
Horde3D - Horde3D is a small 3D rendering and animation engine. It is written in an effort to create an engine being as lightweight and conceptually clean as possible.
Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.