What's Changed
Version 2.2 of PHP-GLFW brings a ton of new and major features. The library remains fully backward compatible with version 2.1, which is why this is not a major release.
Vector Graphics API
Version 2.2 introduces the Vector Graphics API, an HTML5 Canvas-inspired rendering API that simplifies the process of rendering shapes and elements on the screen. This API utilizes OpenGL under the hood, allowing you to combine the raw power of OpenGL with the simplicity of the VG API.
With the PHP-GLFW Vector Graphics API, you can:
- Render simple shapes, such as rectangles, circles, paths, etc.
- Render text from font files efficiently and effortlessly.
- Render gradients and images.
- Create GUIs.
- And much more.
Please see the documentation here: https://phpgl.net/user-guide/vector-graphics/creating_a_vgcontext.html
Statically Compiled Binaries
In this version, we also introduce statically compiled PHP binaries that already include the PHP-GLFW extension, making it easy to ship native applications using PHP-GLFW.
This is currently only supported on macOS. On Windows, the DLL and EXE files are already quite portable.
You will find these directly attached to the release, for example php-8.2-glfw-cli-macos-arm64.zip
.
Noise Functions
Generating noise can be quite computationally intensive, making it difficult and inefficient to implement directly in PHP. This is why PHP-GLFW now includes a collection of noise functions for common use cases.
You can also directly fill a buffer with noise, enabling real-time procedural effects from PHP.
Documentation about the noise: https://phpgl.net/user-guide/noise/noise_functions.html
Other Notable Changes:
- Added support for PHP 8.3.
- Buffers, Vec, Mat4, and Color Objects can now be serialized.
- Added the ability to retrieve textures from the GPU.
- Added the ability to create texture objects from buffers.
- Added
quantizeToUChar
, allowing float buffers to be easily quantized. - You can now push strings into
UByteBuffers
. - Texture Objects can now be saved to disk as
jpg
,png
,bmp
, andtga
. - Major improvements to the styling of the documentation page, enhancing readability.
- We have a new logo 🎉
PRs
- Static CLI Build by @mario-deluna in #17
- Vector Graphics Support (HTML Canvas-like API) by @mario-deluna in #22
- VG Color Improvements by @mario-deluna in #28
- Noise Functions by @mario-deluna in #31
Full Changelog: v2.1.3...v2.2.0
Windows DLL
You can find the windows dll
files attached to the release:
- PHP 8.x Thread Safe x64
glfw_php8.x_ts_x64.zip
- PHP 8.x Non Thread Safe x64
glfw_php8.x_nts_x64.zip