glbinding
Skia
Our great sponsors
glbinding | Skia | |
---|---|---|
3 | 55 | |
820 | 8,614 | |
0.0% | 2.2% | |
4.1 | 9.9 | |
about 2 months ago | 5 days ago | |
C++ | C++ | |
MIT License | BSD 3-clause "New" or "Revised" 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.
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
Skia
-
Skia VS nitro-gl - a user suggested alternative
2 projects | 21 Aug 2023
- The Future of the Web Is VNC
- Cairo – Open-Source 2D Graphics Layer/API with Fonts and Many Back-Ends
-
Lottie under the hood
Actually, that's not entirely accurate. The lottie-web library itself doesn't support rendering to WebGL. However, there is a package called canvaskit-wasm that wraps Skia (a graphics engine) with WebAssembly (wasm). This package includes a module called skottie which supports rendering animations into a WebGL surface. However, there is a drawback with this approach: using wasm requires loading a relatively large package, and it's uncertain whether all features are supported correctly, as the official compatibility table that tracks lottie support on different platforms does not include skottie.
-
Widely-used graphics library
Skia is pretty great if you can get it running.
- Vivaldi 6.0 Web Browser Introduces Tab Workspaces and Custom Icons
-
Due to popular demand, here’s part 2
The imgs are mainly used by Tencent QQ and Baidu Tieba users. QQ and Tieba compress imgs by default, so the popular imgs (in China we call them "屌图" or "表情包") would be compressed million of times during the spreading, causing the super low quality. These APPs on Android are using Skia for image processing, which suffering from a legendary bug: result would be more green. The bug was fixed in 2016: https://github.com/google/skia/commit/c7d01d3e1d3621907c27b283fb7f8b6e177c629d
- Leveraging Rust and the GPU to render user interfaces at 120 FPS
- How important is avoiding Blink/Chromium to you? And if not at all, why?
-
Graphic Library for C
There’s also Skia by Google. Used by Android and Google Chrome.
What are some alternatives?
GLFW - A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
OpenSubdiv - An Open-Source subdivision surface library.
nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
OpenVDB - OpenVDB - Sparse volume data structure and tools
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
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.
Ogre 3D - scene-oriented, flexible 3D engine (C++, Python, C#, Java)
OpenMesh, 7.0
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies