Unsupported — We cannot guarantee that this software will work properly on Mac OS 10.8 and above. Please be careful.

Release: GL Tools, v20071126

Release Type: Beta
Version: 20071126
Release Notes

Yet another GLTools beta (I'm starting to think this will never end! :) — Lots of performance enhancements.

  • CGL Macros are now used, for context-switch-free operation (this prevents flickering when transparent windows are moved over the rendering window, finally!)
  • GL Point now supports ARB_point_sprite
  • Context Info has two additional outputs: point texture minimum and maximum size. Context Info is also context-clean now too (it was changing the context on init, so I missed that one when doing context cleaning)
  • compiler now uses relaxed IEEE floating point standards (-ffast-math for you gcc junkies). This should result in marginally higher frame rates, but might also cause some problems in weird corner cases. Please let me know if this happens, and I'll change it back.
GLTools-20071126.zip90.44 KB

cwright's picture
Feature Freeze

Before yanomano gets a chance to suggest some more neat features, I'm putting GLTools into feature-freeze :). No more new features until a production release happens. Otherwise, We'll never get around to getting this out to the public.

Assuming this version is complete and does what it's supposed to do, I'd like to package it for release by this Friday (20071130). Please hammer on it to work out any final kinks.

yanomano's picture
:) Thanks

Thaaaanks ! :)


yanomano's picture
Image texture In GL point ...

GL point work well with an imported picture with an alpha channel. But nothing is textured if the image as no alpha channel or if you try to plug something else (see the QTZ). The Depth testing is strange in read only mode...

regards Yanomano

TestGLpoint.qtz9.56 KB

cwright's picture

The alpha channel thing is a problem... looking in to that, thanks for catching it.

The depth test is much more subtle, and deals with a weakness in QC itself: patches are always rendered in layer order. Because of this, there's no way to put something between or behind already rendered objects correctly. if you put the gl point in your composition on layer 2, it behaves more correctly (sometimes). There isn't a way around this with separate consumer patches; each one does its own OpenGL rendering. To get correct results, you need a higher-level renderer that properly depth-sorts the items.

Maybe I misunderstood what's supposed to happen in depth read-only mode though. Care to elaborate a bit more?

[love the composition, by the way. It's simple, but I like the idea already :)]

cwright's picture

yanomano, do you get messages like this in Console.app

Dec  7 01:51:16 phendrana Quartz Composer[97874]: *** Message from <GLPointPatch = 0x157835B0 "GLPointPatch_1">:\nFailed creating texture on <QCOpenGLContext = 0x005B50F0 | 1 rendering patches> from image <QCImage = 0x16E5B5E0 | provider = <QCProvider_CoreVideo = 0x16D69BD0 | DOD = <QCRegion = 0x16E7D1B0 | rectangle = {{0, 0}, {640, 480}}> | target = (null) | native pixel format = Internal_422YpCbCr8_601 | native colorspace = 601 [170M] | capabilities = 000 > | DOD = <QCRegion = 0x16E7D1B0 | rectangle = {{0, 0}, {640, 480}}> | transform = (null) | properties = {\n}>


We have to handle images a bit differently for points to get the texture to scale properly. If we handle them like we do for GLQuad (which doesn't exhibit this behaviour), we get an unscaled image. Hopefully it's nothing too crazy to address...

yanomano's picture
Console report

See the RTF

console.txt951 bytes

Installation Instructions

Place the plugin file in
/Users/[you]/Library/Graphics/Quartz Composer Patches/
(Create the folder if it doesn't already exist.)

A set of patches for drawing GL primitives and modifying the GL environment.

Source code is available on GitHub.


Logo by @usefuldesign.au.

Known issues

  • The GL Field of View patch doesn't work properly on Mac OS 10.9 (it produces stretched output).