Nuklear/demo
Patrick Rudolph 2eb72b26e4 Add software rasterizer library and demo.
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>
2017-10-07 12:08:24 +02:00
..
allegro5 Added horizontal scrolling 2017-03-21 21:21:58 +01:00
d3d11 Removed wrong nk_window_is_closed in demos 2017-04-06 09:51:50 +02:00
gdi Removed wrong nk_window_is_closed in demos 2017-04-06 09:51:50 +02:00
gdip Removed wrong nk_window_is_closed in demos 2017-04-06 09:51:50 +02:00
glfw_opengl2 Added horizontal scrolling 2017-03-21 21:21:58 +01:00
glfw_opengl3 Added horizontal scrolling 2017-03-21 21:21:58 +01:00
sdl_opengl2 Added horizontal scrolling 2017-03-21 21:21:58 +01:00
sdl_opengl3 Removed wrong nk_window_is_closed in demos 2017-04-06 09:51:50 +02:00
sfml_opengl2 Added horizontal scrolling 2017-03-21 21:21:58 +01:00
sfml_opengl3 Fixed multiline commment in commented out code 2017-03-25 23:29:42 +01:00
x11 Removed wrong nk_window_is_closed in demos 2017-04-06 09:51:50 +02:00
x11_opengl2 Removed wrong nk_window_is_closed in demos 2017-04-06 09:51:50 +02:00
x11_opengl3 Removed wrong nk_window_is_closed in demos 2017-04-06 09:51:50 +02:00
x11_rawfb Add software rasterizer library and demo. 2017-10-07 12:08:24 +02:00
calculator.c Fixed edit multiline widget width calculation 2016-11-14 19:21:49 +01:00
node_editor.c Fixed clipping rectangle bug 2016-10-30 14:12:30 +01:00
overview.c Merged #198 with bottom-left corner scaler 2017-01-14 15:22:22 +01:00
style.c Restructured demos and examples 2016-04-28 17:01:19 +02:00