You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement a custom low-level GPU renderer to accelerate raster graphics generation.
OpenGL 3.x should have the best adoption rate with acceptable features.
(Vulkan would be great but is definitely out of scope for now.)
Describe alternatives you've considered
Cairo OpenGL backend (cross platform difficulties, not optimized)
Skia (massive overhead, nightmare to compile)
Additional context
It might make sense to encapsulate the low level code in a seperate package to keep the httpgd repository smaller.
The text was updated successfully, but these errors were encountered:
I am using modern OpenGL (3.3) + Harfbuzz & Freetype for text shaping and rasterization. Currently using GLFW for window creation and GLM for some math but will replace both with my own implementations after the prototype is done. Harfbuzz and Freetype will stay as I am not a madman (and we already depend on them anyway).
There is still a lot (!) to do but I wanted to share some very early screenshots of some of the first R plots rendered directly on a GPU (to my knowledge). Seeing R graphics in wireframe mode feels fun to me:
Is your proposal related to a problem?
Raster graphics rendering is currently only possible via Cairo, which is CPU based. While there is a OpenGL based backend for Cairo it seems to be difficult to compile on Windows and not very optimized.
Describe the solution you'd like
Implement a custom low-level GPU renderer to accelerate raster graphics generation.
OpenGL 3.x should have the best adoption rate with acceptable features.
(Vulkan would be great but is definitely out of scope for now.)
Describe alternatives you've considered
Additional context
It might make sense to encapsulate the low level code in a seperate package to keep the httpgd repository smaller.
The text was updated successfully, but these errors were encountered: