Releases: mario-deluna/php-glfw
v2.2.1
What's Changed
- We now officially support PHP 8.3.
- You can now install php-glfw via
pie
on linux and macOS. Windows will follow.
Gamepad and Joystick Support
- New GLFW Functions Implemented:
glfwGetJoystickAxes
glfwGetJoystickButtons
glfwGetGamepadAxes
glfwGetGamepadButtons
- Examples:
- Joystick Input Example: Demonstrates accessing joystick/gamepad input.
- Asteroids Game Example: A simple game showcasing the vector graphics library with gamepad support.
Video Mode Functions
- New GLFW Functions Implemented:
glfwGetVideoModes
glfwGetVideoMode
- Features:
- Retrieve available video modes for monitors.
- Access current video mode settings.
New Examples Added
- Joystick Input:
examples/vg/input_joystick.php
- Asteroids Game:
examples/vg/fun_asteroids.php
- Video Modes Display:
examples/vg/videomodes.php
GLFW Functionality Enhancements
- Nullable Parameters:
glfwSetWindowMonitor
now accepts a nullablemonitor
parameter, allowing the function to set a window to windowed mode by passingNULL
.
Fixes
NanoVG Library Update
- Texture Wrapping Fix:
- Vector Graphics API images changed
GL_CLAMP_TO_EDGE
toGL_CLAMP_TO_BORDER
, addressing potential texture wrapping issues.
- Vector Graphics API images changed
PRs
- Gamepad & Joystick Support by @mario-deluna in #34
Full Changelog: v2.2.0...v2.2.1
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
v2.2.0
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
v2.1.3
Changes
- Updated documentation.
- Updated the linux and macOS .m4 autoconf to properly include vendor dependencies when compiled inline.
Full Changelog: v2.1.2...v2.1.3
Windows DLL
You can find the windows dll
files attached to the release:
- PHP 8.0 Thread Safe x64
glfw_php8.0_ts_x64.zip
- PHP 8.1 Thread Safe x64
glfw_php8.1_ts_x64.zip
- PHP 8.2 Thread Safe x64
glfw_php8.2_ts_x64.zip
- PHP 8.0 Non Thread Safe x64
glfw_php8.0_nts_x64.zip
- PHP 8.1 Non Thread Safe x64
glfw_php8.1_nts_x64.zip
- PHP 8.2 Non Thread Safe x64
glfw_php8.2_nts_x64.zip
v2.1.2
Changes
- Updated documentation.
- Added support for float buffers with GlReadPixels.
- Added basic serialization of math objects.
- Added support for vec3 * mat4 multiplication.
- Added support for vec4 * mat4 multiplication.
Full Changelog: v2.1.1...v2.1.2
Windows DLL
You can find the windows dll
files attached to the release:
- PHP 8.0 Thread Safe x64
glfw_php8.0_ts_x64.zip
- PHP 8.1 Thread Safe x64
glfw_php8.1_ts_x64.zip
- PHP 8.2 Thread Safe x64
glfw_php8.2_ts_x64.zip
- PHP 8.0 Non Thread Safe x64
glfw_php8.0_nts_x64.zip
- PHP 8.1 Non Thread Safe x64
glfw_php8.1_nts_x64.zip
- PHP 8.2 Non Thread Safe x64
glfw_php8.2_nts_x64.zip
v2.1.1
In this release:
- Added a few more utility functions to the quaternion math object.
- Quat can now be multiplied with Vec3 and Mat4.
- Added
glDrawBuffers
support. - Added
glReadPixels
support. - Added AABB generator for mesh loading, in obj loader.
Full Changelog: v2.1.0...v2.1.1
Windows DLL
You can find the windows dll
files attached to the release:
- PHP 8.0 Thread Safe x64
glfw_php8.0_ts_x64.zip
- PHP 8.1 Thread Safe x64
glfw_php8.1_ts_x64.zip
- PHP 8.2 Thread Safe x64
glfw_php8.2_ts_x64.zip
- PHP 8.0 Non Thread Safe x64
glfw_php8.0_nts_x64.zip
- PHP 8.1 Non Thread Safe x64
glfw_php8.1_nts_x64.zip
- PHP 8.2 Non Thread Safe x64
glfw_php8.2_nts_x64.zip
v2.1.0
- This release mostly introduces a few small breaking naming changes around the math functions to be more consistent.
- Also this release introduces a built-in quaternion object.
- Support for PHP8.2
Full Changelog: v2.0.0...v2.1.0
Windows DLL
You can find the windows dll
files attached to the release:
-
PHP 8.0 Thread Safe x64
glfw_php8.0_ts_x64_dll.zip
-
PHP 8.1 Thread Safe x64
glfw_php8.1_ts_x64_dll.zip
-
PHP 8.0 Non Thread Safe x64
glfw_php8.0_nts_x64_dll.zip
-
PHP 8.1 Non Thread Safe x64
glfw_php8.1_nts_x64_dll.zip
v2.0.0
Full Changelog: https://github.com/mario-deluna/php-glfw/commits/v2.0.0
Windows DLL
You can find the windows dll
files attached to the release:
-
PHP 8.0 Thread Safe x64
glfw_php8.0_ts_x64_dll.zip
-
PHP 8.1 Thread Safe x64
glfw_php8.1_ts_x64_dll.zip
-
PHP 8.0 Non Thread Safe x64
glfw_php8.0_nts_x64_dll.zip
-
PHP 8.1 Non Thread Safe x64
glfw_php8.1_nts_x64_dll.zip