Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more β
Top 23 graphics-library Open-Source Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Silk.NET
The high-speed OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, WebGPU, and DirectX bindings library your mother warned you about.
-
FluidX3D
The fastest and most memory efficient lattice Boltzmann CFD software, running on all GPUs via OpenCL.
-
OpenTK
The Open Toolkit library is a fast, low-level C# wrapper for OpenGL, OpenAL & OpenCL. It also includes windowing, mouse, keyboard and joystick input and a robust and fast math library, giving you everything you need to write your own renderer or game engine. OpenTK can be used standalone or inside a GUI on Windows, Linux, Mac.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
FabGL
ESP32 Display Controller (VGA, PAL/NTSC Color Composite, SSD1306, ST7789, ILI9341), PS/2 Mouse and Keyboard Controller, Graphics Library, Sound Engine, Game Engine and ANSI/VT Terminal
-
LovyanGFX
SPI LCD graphics library for ESP32 (ESP-IDF/ArduinoESP32) / ESP8266 (ArduinoESP8266) / SAMD51(Seeed ArduinoSAMD51)
-
MethaneKit
π² Modern 3D graphics made simple with C++17 cross-platform framework and rendering abstraction API on top of DirectX 12, Metal & Vulkan
-
Skity
A light weight 2D Vector Graphic renderer library writing in c++ for OpenGL3.3+ / OpenGLES3.0+ / Vulkan 1.1+/ WebGL2 with WASM
-
bgracontrols
π BGRA Controls is a set of graphical UI elements that you can use with Lazarus LCL applications.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Bombed an interview and trying to figure out how to pivot. Any advice on on increasing code literacy and filling in knowledge gaps from EE? | /r/embedded | 2023-12-06
cmake_minimum_required(VERSION 3.5) project(knn_cpp CXX) # Set up C++ version and properties include(CheckIncludeFileCXX) check_include_file_cxx(any HAS_ANY) check_include_file_cxx(string_view HAS_STRING_VIEW) check_include_file_cxx(coroutine HAS_COROUTINE) set(CMAKE_CXX_STANDARD 20) set(CMAKE_BUILD_TYPE Debug) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # Copy data file to build directory file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/iris.data DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) # Download library usinng FetchContent include(FetchContent) FetchContent_Declare(matplotplusplus GIT_REPOSITORY https://github.com/alandefreitas/matplotplusplus GIT_TAG origin/master) FetchContent_GetProperties(matplotplusplus) if(NOT matplotplusplus_POPULATED) FetchContent_Populate(matplotplusplus) add_subdirectory(${matplotplusplus_SOURCE_DIR} ${matplotplusplus_BINARY_DIR} EXCLUDE_FROM_ALL) endif() FetchContent_Declare( fmt GIT_REPOSITORY https://github.com/fmtlib/fmt.git GIT_TAG 7.1.3 # Adjust the version as needed ) FetchContent_MakeAvailable(fmt) # Add executable and link project libraries and folders add_executable(${PROJECT_NAME} main.cc) target_link_libraries(${PROJECT_NAME} PUBLIC matplot fmt::fmt) aux_source_directory(lib LIB_SRC) target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_sources(${PROJECT_NAME} PRIVATE ${LIB_SRC}) add_subdirectory(tests)
A couple other options than what has been suggested so far: - TerraFX.Interop.Windows. Raw, blittable, 1:1 bindings for all Win32, D2D/D3D11/D3D12 APIs (there's also a version with Vulkan bindings). As close to doing #include as you can get in C#. This is my personal favorite, I use it in my own ComputeSharp library, and transitively we use it in the Microsoft Store too π - Silk.NET another version of high-performance bindings, more opinionated than TerraFX and with some additional helpers to make it a bit easier to use.
Project mention: DiligentGraphics: Open-source cross-platform rendering middleware | news.ycombinator.com | 2024-04-29
Project mention: Unhandled SEHException when running OpenTK project - What am I doing wrong? | /r/opengl | 2023-06-25Open a new issue on Github. Include all of this, and provide info on your OS and GPU.
Like some people here and under this post said, I like Kitty and would recommend it to anyone who uses/used Alacritty, as they are very similar in surface. I actually switch between Alacritty and Kitty pretty often, depending on my "mood". I recently went back to Kitty for image support (through chafa though, for better compatibility across terminal emulators). However, Wayland support is poor and I have some issues with fonts being too bold, although it could just be my config...
The only example that shedded some light on the integration was gtk4 + femtovg. So I mimicked the example, using gtk4-rs and Skia's rust bindings. I had some code similar to the following inside a subclass of GLArea to setup Skia's DirectContext, but it failed:
Lovyangfx: https://github.com/lovyan03/LovyanGFX/
Project mention: Bombed an interview and trying to figure out how to pivot. Any advice on on increasing code literacy and filling in knowledge gaps from EE? | /r/embedded | 2023-12-06
I have a small TTF implementation that's in the neighborhood of that size and is open source. It's part of my canvas_ity single-header library [0] that's around 2300 LOC / 36 KB object size and implements a C++ version of most of the 2D HTML5 canvas spec [1].
The core implementation of the TTF parsing and drawing is in L1526-L1846 with another small bit at L3205-L3274 of src/canvas_ity.hpp.
It's something of a toy implementation that only supports western left-to-right text, and doesn't do any hinting at all, nor kerning, nor shaping. But it's enough to draw a basic "Hello world!" using any typical TTF file.
The test suite in test/test.cpp L84-304 embeds a few custom Base64-encoded TTF files. They're small and only have a few glyphs but they do exercise a number of interesting edge cases in the OpenType TTF spec [2]. Have a look at the HTML5 port of the test suite at test/test.html in different browsers to see how their canvas implementations render those fonts.
[0] https://github.com/a-e-k/canvas_ity
[1] https://www.w3.org/TR/2015/REC-2dcontext-20151119/
[2] https://standards.iso.org/ittf/PubliclyAvailableStandards/c0...
graphics-library related posts
-
Bombed an interview and trying to figure out how to pivot. Any advice on on increasing code literacy and filling in knowledge gaps from EE?
-
Unhandled SEHException when running OpenTK project - What am I doing wrong?
-
Got a screen up finally π
-
Best way to use ST7789 in ESPIDF?
-
Smart mirror help!!
-
LovyanGFX 0.5.0 β rich and fast graphics library for ESP32 display devices
-
Drew a shape in C#
-
A note from our sponsor - InfluxDB
www.influxdata.com | 5 May 2024
Index
What are some of the best open-source graphics-library projects? This list will help you:
Project | Stars | |
---|---|---|
1 | GuiLite | 7,178 |
2 | matplotplusplus | 3,933 |
3 | Silk.NET | 3,686 |
4 | DiligentEngine | 3,317 |
5 | FluidX3D | 3,210 |
6 | OpenTK | 3,088 |
7 | chafa | 2,626 |
8 | FabGL | 1,370 |
9 | rust-skia | 1,326 |
10 | LovyanGFX | 1,015 |
11 | MethaneKit | 761 |
12 | vkvg | 728 |
13 | GuiLiteSamples | 615 |
14 | debug-draw | 482 |
15 | awesome-graphics-libraries | 370 |
16 | canvas_ity | 318 |
17 | hagl | 279 |
18 | TermGL | 274 |
19 | MetalNanoVG | 209 |
20 | Skity | 191 |
21 | bgracontrols | 168 |
22 | TrippyGL | 157 |
23 | Speculid | 116 |
Sponsored