OpenVDB
glbinding
OpenVDB | glbinding | |
---|---|---|
56 | 3 | |
2,795 | 835 | |
2.0% | 0.2% | |
9.4 | 6.2 | |
28 days ago | 7 months 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.
OpenVDB
-
PicoGK is a compact and robust geometry kernel for Computational Engineering
In the README there is a section title "On the shoulders of giants" that probably points to the main reason. This project is a layer overtop https://www.openvdb.org/
- openvdb: NEW Data - star count:2137.0
- openvdb: NEW Data - star count:2055.0
glbinding
-
Questions about the official xml registry (gl.xml).
Ever heard of https://glbinding.org ?
-
Low-level OpenGL abstractions
You should checkout glbinding, it might give you some ideas for your own wrapper.
-
Thriving in a Crowded and Changing World: C++ 2006–2020 [pdf]
I have based my career on top of C++/backend/soft-real time systems.
I still have to read the full paper, thanks for the post!
Many people rant about C++, but, IMHO, overall, taking into account ecosystem, tools, etc. C++ stands as an almost unbeatable technology when you put everything together. It has quirks, asymmetries and all of that.
But since C++11 it is nicer to use and all the standards after it have been improving on it: generic lambdas, structured bindings, string non-template parameters, constexpr and consteval... it is amazing what you can do with C++ that is difficult or almost impossible to do with other languages.
On the missing pieces I would mention that you need to use macros to have some kind of reflection for members and pattern matching and networking would be really nice to have.
Modules are still an experiment implementation-wise, but hey, they will improve on the side of hiding implementation details by a big margin.
As for the ecosystem, nowadays you have CMake (whose language sucks badly) and Meson. Together with Conan things have improved a lot since I started coding in around 2001.
Pack that with an IDE like CLion or Visual Studio + Resharper or lightweight IDE (Emacs + Lsp and the like) and you have an environment that is very competitive and whose code can be compiled almost anywhere. From ARM to x86, MIPS and even Webassembly.
That is why I think C++ is still the way to go if what you want is performance: you also have interfaces such as OpenCL/GL/Vulkan/SIMD libraries (though not C++ standard) where you can access hardware. Also, vendors and open source have things such as https://github.com/cginternals/glbinding
What are some alternatives?
Open-Source Vulkan C++ API - Open-Source Vulkan C++ API
GLFW - A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
OpenSceneGraph - OpenSceneGraph git repository
OpenSubdiv - An Open-Source subdivision surface library.
Partio - C++ (with python bindings) library for easily reading/writing/manipulating common animation particle formats such as PDB, BGEO, PTC. https://wdas.github.io/partio
OpenMesh, 7.0
Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
Ogre 3D - scene-oriented, flexible 3D engine (C++, Python, C#, Java)
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.
herebedragons - A basic 3D scene implemented with various engines, frameworks or APIs.