Add OpenGL 4.6 backend for NanoVG

This commit introduces a new header file `nanovg_gl46.h` that implements
the NanoVG rendering context using OpenGL 4.6. The new backend utilizes
Direct State Access (DSA) functions, immutable texture storage, and
explicit layout qualifiers. It includes definitions for creating and
deleting the rendering context, as well as functions for handling images
with OpenGL 4.6.
This commit is contained in:
Diego Lopes
2026-03-21 14:00:59 -04:00
parent 47be135221
commit 6200b74e77
12 changed files with 1849 additions and 2 deletions

View File

@@ -57,9 +57,9 @@ if(stb_ADDED)
add_library(stb INTERFACE)
target_include_directories(stb INTERFACE ${stb_SOURCE_DIR})
endif()
# ── Local dependencies ───────────────────────────────────────────────────────
add_subdirectory(external/glad)
add_subdirectory(external/nanovg)
find_package(OpenGL REQUIRED)
find_package(X11 REQUIRED)
@@ -90,6 +90,7 @@ target_link_libraries(${PROJECT_NAME}
Lua::Library
sol2
stb
nanovg
glad
PkgConfig::GST
)