GL Tools

GL Tools

Release: GL Tools, v20090704 (1.3)

Release Type: Beta
Version: 20090704 (1.3)
Release Notes

This build of GLTools addresses some bugs with blending on PPC, and fixes the Field of View patch to work in more diverse environments.

Release: GL Tools, v20090702 (1.3)

Release Type: Beta
Version: 20090702 (1.3)
Release Notes

This beta of GLTools addresses some bugs with Read Pixels and GL Spline.

Release: GL Tools, v1.2

Release Type: Production
Version: 1.2
Release Notes

This version of GLTools adds numerous enhancements, fixes, and improvements.

  • Alpha blend ports got a significant performance improvement -- also some bug fixes from the alphas that caused problems outside of QC.

  • A new Depth Sort environment patch (with sample composition)

  • The Spline Corruption bug was fixed (finally)

  • There's a new Cube Structure patch, for rendering axis-aligned cubes at several locations simultaneously -- this works just like the Point Structure patch.

  • The point-structure and line-structure patches received some optimizations and tweaks. Also, the demo compositions show "indexed" mode, which typically performs better than keyed mode.

  • There's a new Inverse Rotation patch, which allows you to align objects to the screen (kinda like billboards) -- handy for sprite-powered particle systems (the depth sort demo demonstrates this patch as well).

  • Other assorted memory leak fixes and performance tweaks.

The zip contains the plugin, as well as sample compositions.

Release: GL Tools, v20090205 (1.2)

Release Type: Beta
Version: 20090205 (1.2)
Release Notes

This update to GLTools provides numerous enhancements and a few fixes.

  • updated ReadPixels patch is public, and supports depth buffer reading as well as color buffer. Much faster, too.
  • updated GridRenderer private patch allows automatic subdivision (for faking perspective projection). The Grid Generator was fixed so it doesn't crash on start/stop cycles.
  • an amazingly cool Line Expression patch allows for parametric curves
  • the GL Scissor patch, for enabling rendering in specific subregions of the screen (similar to the ViewPort patch, but without re-scaling)
  • Some cleanup and optimization of other patches.

The plugin zip also contains sample compositions.

Release is planned sometime tomorrow or saturday, so please bang on it to make sure it's up to snuff.

Release: GL Tools, v1.1

Release Type: Production
Version: 1.1
Release Notes

This update to GLTools adds a couple new patches, and adds support for proper alpha blending (as found in GLTools v0.4).

The new patches:

  • Kineme GL Polygon Offset -- useful for creating wireframe overlays (example composition included)
  • Kineme GL Torus -- a new primitive that renders a torus.

Updates:

  • The Triangle and Quad Structure patches now have position and rotation inputs, allowing for easier positioning.

A word about blending:

In Quartz Composer, blending is typically controlled by an input port called "Blending", which traditionally has the following values: Replace (no blending), Over (pre-multiplied overlay), and Add (Source + Destination). In GLTools 1.0, we transitioned from using our own manual blending to using QC's built-in ones. This meant less code, and more consistent behaviour with other QC patches. Unfortunately, as many have noted, the Over blend mode simply wasn't useful with line and point antialiasing, because it expects pre-multiplied colors, which OpenGL doesn't naturally provide when performing antialiasing. This lead to the ugly halos around objects, and improper transparency, especially around splines. (Secret: The built-in line patch doesn't have a Blending input for exactly this reason -- it manually controls blending itself to work around QC's limited implementation, just like we did on a much larger scale in GLTools 0.4)

This put us in a difficult position -- on the one hand, relying on QC's built-in functionality means less code for us, more reliability, and seamless feature compatabilty. On the other hand, having beautiful output is important, and having happy users is even more important.

Thus, we worked some more kineme magic, and Modified QC's Blending Port to add proper Alpha-blending support to anything with a Blending Port. Along with the standard Replace, Over, and Add inputs, you'll now see a fourth option, called "Alpha". This sets the blend mode to a proper unpremultiplied alpha blend, as found in GLTools v0.4. To enable pretty blending for your compositions, you simply have to locate your renderers, and change their blend input to "Alpha".