Skip to content

v2.2.0

Latest
Compare
Choose a tag to compare
@mario-deluna mario-deluna released this 18 Aug 19:58
· 12 commits to master since this release

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.

circle_demo

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.

noise_demo

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, and tga.
  • Major improvements to the styling of the documentation page, enhancing readability.
  • We have a new logo 🎉

PRs

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