2eb72b26e4
The software rasterizer is to be used with raw framebuffer devices, where no GPU or X11 is available. The demo emulates a raw framebuffer on X11 using XShmImage / XImage. Features implemented: * Drawing primitives * Drawing polygons (using Darel Rex Finley algorithm) * Drawing arcs and circles (using Bresenham's elipses algorithm) * Drawing images using nearest filtering * Bounds check on every operation * Fastpath for lines * Font rendering using nearest filtering * Window resize * Thread safe implementation by using a context * Fixed lower and upper scissors on fast-path * Adapted coding style to nuklear's style * Implemented text scissors Color formats: Define one of them at compile time. * RAWFB_RGBX_8888 (32bpp) * RAWFB_XRGB_8888 (32bpp) Tested: The library has been tested on Lenovo Thinkpad T500 and is able to render more than 30fps on a single core with no further optimizations and VSNYC enabled. TODO: * Improve font rendering by using filters. * Account font foreground color. Usage: The raw framebuffer library needs a "texture" that holds the prerendered font data. The texture is used at runtime to blit the letters onto screen. You have to provide the framebuffer address, dimension and pitch. Signed-off-by: Patrick Rudolph <siro@das-labor.org> |
||
---|---|---|
.. | ||
allegro5 | ||
d3d11 | ||
gdi | ||
gdip | ||
glfw_opengl2 | ||
glfw_opengl3 | ||
sdl_opengl2 | ||
sdl_opengl3 | ||
sfml_opengl2 | ||
sfml_opengl3 | ||
x11 | ||
x11_opengl2 | ||
x11_opengl3 | ||
x11_rawfb | ||
calculator.c | ||
node_editor.c | ||
overview.c | ||
style.c |