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> |
||
---|---|---|
.. | ||
main.c | ||
Makefile | ||
nuklear_rawfb.h | ||
nuklear_xlib.h |