GL3 Package Public Beta

Rob Ramirez's icon

Hey everyone!

We are truly excited today to announce the public beta release of our GL3 package. GL3 expands on the existing generative power of Jitter’s original graphics engine by providing support for the more modern OpenGL Core Profile and recent versions of GLSL. This brings some exciting new features along with some new challenges.

To get started:

  • Install the GL3 package from the Package Manager (File->Show Package Manager).

  • When installation is complete, restart Max.

  • Open the Max Preferences window (Max->Preference) and scroll to the Jitter category. Change OpenGL Engine to ‘gl3’.

  • Restart Max to use the new OpenGL Engine.

  • You can verify that you are running GL3 by creating a jit.world object. When you turn rendering on for that object, you should see the message "gl3 engine loaded" in the Max Window.

To switch back to the old gl2 engine, simply change the OpenGL Engine preference back to ‘gl2’, and restart. The restart is unnecessary if Jitter has yet to initialize. The Max Console will post a warning if restart is required after changing the preference. If you wish to uninstall the package, make sure you switch the preference back to gl2 before uninstalling.

New features of GL3 include:

  • Modern GLSL language support

  • GPU instancing with jit.gl.multiple and jit.gl.mesh

  • 2D texture input directly to a jit.gl.cubemap face or 3D texture slice

  • Transform Feedback of vertex data via the new jit.gl.buffer and jit.gl.tf objects. This feature allows you to preserve vertex or geometry shader output for future use as geometry data on the graphics card, opening the door to some highly efficient particle simulations and new creative possibilities that we haven’t thought of yet. Be sure to check the examples.

The launcher located under the Extras menu showcases all of these new features. Some of the example patches make use of the jit.mo package which you can install via the Package Manager. The launcher also includes a link to the documentation, which I highly encourage you to check out.

Please note, unlike the gl2 engine which worked well on most any graphics card from the past decade, some of the features in the gl3 engine will require a more recent Nvidia or AMD card. Don’t be surprised if you aren’t getting stellar performance running this on an integrated Intel graphics card, or any card older than 5 years or so.

Finally, this is a beta release. Our team has put together a fantastic package, but documentation and feature set are still a work in progress and your feedback is invaluable. Please post any questions or comments directly to the Jitter forum, and for any bug reports please include your graphics card name and OS version.

Happy patching!

MAX.XAM's icon

Woohoo! Thanks C74

Herr Markant's icon

This is sick! Thank you!

marker's icon

Amazing work!

Dante's icon

so exciting! Thank you.

Herr Markant's icon

Is this downward compatible? If i enable gl3 some of my patches stop working properly, is this a bug i should report?

Cory Metcalf's icon

@HERR MARKANT - not all gl2 features are fully supported. If you take a look in the Max documentation, there's a topic called "Current Limitations of the GL3 Engine" that outlines the limitations. If you are using shaders loaded in jit.gl.shader or jit.gl.slab, you'll need to update those as described in the "Updating GLSL Shaders for GL3" guide, also in the built in documentation.

If you run into issues that you think fall outside of those topics, please do submit a report to support@cycling74.com.

Herr Markant's icon

Ah ok, thanks for clarification. I have some issues with gl.mesh (shapes not showing up) but I'll deep dive into this the next days and I'll report.. Thanks for all your hard work.

Anthony Palomba's icon

Is it Christmas already?!
This is crazy awesome stuff!

Cha Blasco's icon

Hi! This is an amazing update!
I followed all step above but I have some issues, see screenshot below.
Any suggestions how to fix it? Thanks!

daddymax's icon

You guys are great - thanks for always getting us new features - this one is intriguing.

TConnors's icon

Thank You C74!

Rob Ramirez's icon

hi cha blasco, can you please send along your OS and GPU info? are you able to run any of the other examples?

Peter Redecopp's icon

This is great! Congrats to Rob and the C74 team, I look forward to trying the GL3 package out!

Valiumdupeuple's icon

The mood of the video presentation is awesome!

hobbes73's icon

Awesome work! But i found out that if you set Max8 to gl3 instead of gl2 that max for live devices in Ableton (10) won't show any graphics or would crash (midivolve).

jbailey's icon

I've been waiting years for this! Mind blown.

inane's icon

Same problem of Cha Blasco.. under Mac OSX 10.13.6 High Sierra

Franky Redente's icon

thank you guys, great work

Cha Blasco's icon

Hi Rob Ramirez! The same issue in all examples.
macOS Sierra 10.12.6
ATI Radeon HD 4670 GPU PCIe x16 VRAM256MB

Rob Ramirez's icon

ok, now we're getting somewhere. so your card is from 2008 and only supports up to opengl 3.3. This indicates that we are not correctly falling back to a supported gl context when the creation fails.

Unfortunately even my old mac-mini from 2012 running OS 10.11 supports up to 4.1 (the maximum GL version on any Mac) so I can't test this out. However it should be an easy enough thing to fix, and I will take a look. thanks for following up.

Rob Ramirez's icon

Hi HOBBES73, thanks for your report. The gl3 package requires Max 8.0.8 to run and the version bundled with Live does not support this. You will have to adjust your Live preference to point to Max 8.0.8 to test gl3 with Live. Hope that helps.

cobtob's icon

awsome upgrade! thanks a lot!

I believe I found a bug with jit.gl.sketch: cmd_enable message doesn´t work with gl3 on my machine (MBP2015, MacOS 10.14.6, GeForce 750M)

inane's icon

@Rob Ramirez, some fix for my problem?

Rob Ramirez's icon

if your problem is the same as cha blasco as you claim, then i addressed this above. but i have no way of knowing if it's the same since you haven't given me any info.

inane's icon

Laptop specifications are:
Mac book pro 13" 2.4GHz (2011)
Intel HD Graphics 3000 with 384MB of DDR3 SDRAM shared with main memory

Same logs in the max console window.

Rob Ramirez's icon

cool thanks for following up. so yes it's the same issue with GL support in your card.

Unfortunately your card has even lower support (3.1) and therefore will not be able to run the gl3 engine (requires GL 3.2 and greater). I will address catching these cases and falling back more gracefully (in your case falling back to the gl2 engine) in the next update to the gl3 package. But again, your card will not support the gl3 engine.

Rob Ramirez's icon

Hey everyone thanks much for the kind words, excitement, and feedback so far!

Due to the scope and complexity of this project, I'm going to lock this thread and ask that you make new posts in the Jitter forum, and include "gl3" in the post title.

Thanks much for the continued involvement!