FabGL is mainly a Graphics Library for ESP32. It implements several display drivers (VGA output, PAL/NTSC Color Composite, I2C and SPI displays). FabGL can also get input from a PS/2 Keyboard and a Mouse. FabGL implements also: an Audio Engine (DAC and Sigma-Delta), a Graphical User Interface (GUI), a Game Engine and an ANSI/VT Terminal. VGA output requires an external digital-to-analog converter (DAC): it can be done by three 270 Ohm resistors to have 8 colors, or by 6 resistors to have 64 colors. Composite output doesn't require external components (maybe a 5Mhz low pass filter). An unlimited number of sprites are supported. However big sprites and a large amount of them reduce the frame rate and could generate flickering. When there is enough memory (on low resolutions like 320x200), it is possible to allocate two screen buffers, so to implement double buffering. In this case primitives are always drawn on the back buffer.

Features

  • There is a graphical user interface (GUI) with overlapping windows and mouse handling and a lot of widgets (buttons, editboxes, checkboxes, comboboxes, listboxes, etc..).
  • There is a sound engine, with multiple channels mixed to a mono output. Each channel can generate sine waveforms, square, etc.
  • When there is enough memory (on low resolutions like 320x200), it is possible to allocate two screen buffers, so to implement double buffering. In this case primitives are always drawn on the back buffer
  • All drawings are performed on vertical retracing
  • If the queue of primitives to draw is not processed before the vertical retracing ends, then it is interrupted and continued at next retracing
  • This library works with ESP32 revision 1 or upper

Project Samples

Project Activity

See All Activity >

Categories

Emulators

License

MIT License

Follow FabGL

FabGL Web Site

You Might Also Like
Our Free Plans just got better! | Auth0 by Okta Icon
Our Free Plans just got better! | Auth0 by Okta

With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your secuirty. Auth0 now, thank yourself later.
Try free now
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of FabGL!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

C++

Related Categories

C++ Emulators

Registered

2022-10-19