Platform eXtended Library (PXL) is a cross-platform framework for developing 2D/3D video games, interactive and scientific applications. It aids the developer with mathematics, hardware control, resource management, displaying real-time graphics and text, handle user input and network communication capabilities.
This library is based on a well-known Asphyre framework, supersedes all previous releases and is under continuous development. It requires Embarcadero Delphi or FreePascal / Lazarus. Multiple desktop and mobile platforms are supported, along with native hardware support for compact singleboard computers including devices such as Raspberry PI, Intel Galileo, BeagleBone Black among others.
For desktop applications, multiple providers are available including OpenGL, DirectX 7, DirectX 9 and DirectX 11 for displaying real-time graphics, while mobile and singleboard applications can take advantage of OpenGL ES provider. In addition, fully compliant Software Rendering is provided that can be used both on desktop, mobile and singleboard devices.
Support for Raspberry PI
- Fast access to CPU timer, GPIO, I²C, SPI and UART using direct manipulation of SoC registers.
- V4L2 video/image capture using onboard and USB cameras.
- OpenGL ES rendering with and without X server, including drawing to bitmaps. One of examples shows how to render your visual scene with GPU and then pass it to external display via SPI wiring!
- ...and many other features that are available for generic singleboard platforms.
Support for Intel Galileo and Edison
- Native GPIO with support for fast pins and automatic pin multiplexing (just use printed pin numbers!)
- Easy control for PWM and ADC channels and their associated pins.
- Integrated I²C, SPI and UART control facilities.
- ...and many other features that are available for generic singleboard platforms.
General support for SingleBoard computers
- Easy access to native Linux Sysfs interfaces such as GPIO, PWM, ADC, I²C, SPI and UART.
- Serial cameras such as VC0706 and LSY201.
- I²C and SPI displays such as SSD1306, SSD1351, PCB8544 (Nokia), HX8357 and ILI9340.
- Character LCDs with direct pin wiring.
- Support for Software SPI and UART (bit-banging).
- Support for SC16IS7x0 (UART controller connected via I²C or SPI), including extra GPIO pins.
- Support for sensors such as BMP180, DHT22, L3GD20, LSM303 and SHT10.
- Networking communications through UDP protocol.
- Video/image capturing through generic V4L2 interface.
- Software rendering for visual effects and user interfaces.
Other Features
- Fully featured mathematics library for integer and floating-point vectors, matrices and quaternions.
- Image transformation including rotation, skew, mirroring and so on.
- Multiple blending effects including add, subtract, multiply, shadow among others.
- Many different drawing primitives such as rectangles, ellipses, arcs, ribbons and holes.
- Multiple image pixel formats to maximize quality and minimize video memory consumption.
- Cross-platform networking and multiplayer support using UDP protocol.
- Store all images, sounds and other files using ZIP-like compression in a single PXL archive for easier deployment.
- Support for reading legacy archives including VTDb, ASDb and ASVF formats to simply porting projects made with earlier Asphyre versions.
- High-precision timer for independent graphics rendering and object movement.
Downloads
Platform eXtended Library v1.1.0 - Complete Package (December 9, 2017)
- pxl-v110.7z (7z, 10.77 MiB)
- pxl-v110.zip (zip, 17.02 MiB)
FontTool v3.41 multi-platform (November 1, 2015)
- fonttool-3.41-win32-i386.zip (zip, Win32, 715.21 KiB)
- fonttool-3.41-win64-x86_64.zip (zip, Win64, 849.93 KiB)
- fonttool-3.41-linux-i386.tar.bz2 (tar.bz2, Linux 32-bit, 802.61 KiB)
- fonttool-3.41-linux-x86_64.tar.bz2 (tar.bz2, Linux 64-bit, 867.22 KiB)
FontTool v3.40 multi-platform (October 2, 2015)
- fonttool-3.4-darwin-i386.zip (zip, Darwin, 833.21 KiB)
- fonttool-3.4-linux-armel.tar.bz2 (tar.bz2, Linux ARM-EL, 848.32 KiB)
- fonttool-3.4-linux-armhf.tar.bz2 (tar.bz2, Linux ARM-HF, 822 KiB)
Legacy Tools, Windows-only (October 2, 2015)
- LegacyTools-Win32-2015-10-02.zip (zip, Win32, 4.48 MiB)
- LegacyTools-Win64-2015-10-02.zip (zip, Win64, 4.88 MiB)
Source Code SVN on SourceForge
You can also access official Platform eXtended Library project source code on SourceForge at:
Online Documentation
Vampyre Imaging Library (optional add-on)
Although Platform eXtended Library can load and save multiple image formats while using internal facilities provided by Delphi and FreePascal, a better performance can be achieved by using Vampyre Imaging Library, in addition to supporting many more formats.
Alternatively, you can download the snapshot that was verified to be working with latest version of Platform eXtended Library from the links below.
- Vampyre Imaging Library (7z, snapshot) (3.44 MiB)
- Vampyre Imaging Library (tar.bz2, snapshot) (3.86 MiB)