8.0.4 new Jitter features (jit.gl.bfg)

Rob Ramirez's icon

Hey everyone, the Max 8.0.4 update has some new Jitter features I'd like to share.

The first two are related to jit.gl.node:
- You can now add jit.gl.light objects to a specific jit.gl.node sub-context
- You can now specify a shader or material to jit.gl.node and have it apply to all the objects in that sub-context.

The last one is a bit more exciting. We have a new texture object to play with called jit.gl.bfg. As the name implies it is based off the jit.bfg object, but is processed on the GPU using shaders, so will be much faster for certain calculations. It doesn't do everything that jit.bfg can do, and has certain limitations, but is pretty fun and I think you all will make good use.

I through together a little demo of it's functionality that you can watch here

Ahti Ta's icon

Looks great, thanks. Could you share the patches of the demo video as well? Would be great to play around with.

Rob Ramirez's icon

sure, the first patch is basically the help patcher. I've attached the second patch that uses jit.gl.material heightmap function.

gl-bfg-test-large.maxpat
Max Patch

MAX.XAM's icon

Very cool!

John J.A. Jannone's icon

Wow wow wow!

aceslowman's icon

Yes! I have literally been working on getting some kind of GL bfg patch working all week! This makes my night.

michelez's icon

This is incredible news, something I kept wishing for. Thanks a million Rob!

Bob's icon

Amazing, thank you!!!

daddymax's icon

A GL bfg has been on my wishlist forever. It's a beautiful thing to see how smoothly it updates. Thanks.

enrico wiltsch's icon

wow many thanks!!!

Julien Bayle's icon

yes and we are celebrating it there

:-)

Herr Markant's icon

I do not want to say that this is a game changer, but it's close! ;-)

jko's icon

Unfortunately the attached gl-bfg-test-large.maxpat crashes max 8.0.4 instantly when going fullscreen on my windows computer. Can anyone report this is working on windows before I start researching which might be the object responsible? Thanks!

Rob Ramirez's icon

hi JKO, thanks for the report.
I can reproduce this crash in windows. I believe it is related to the heightmap_mode vtf feature of jit.gl.mesh rather than the jit.gl.bfg object. i've seen this crash in other situations related to vtf.

I'll see if I can figure out what's going on here.

Rob Ramirez's icon

this crash should be fixed with the 8.0.5 release. please let me know if not.

jko's icon

Works perfect now! Thanks a lot.

sequencersampler's icon

This is so rad. Thank you.

Ricardo Matias's icon

Still learning the ropes here.. can someone explain the benefit of having jit.gl.bfg vs jit.bfg. I understand the part that it's within the Open GL world as a texture, but besides convenience and performance, does it allow to do things that weren't possible before with only jit.bfg? Just trying to understand what the whole fuss is about.

Pedro Santos's icon

In fact it allows less, not all the algorithms in jit.bfg are present on jit.gl.bfg. A CPU is capable of doing more things than a GPU, but a GPU can do certain kinds of processing much faster. In this case, the performance benefit is huge, as it can lead to higher resolutions, bit depths and frame rates.

I just did a quick comparison on jit.bfg vs jit.gl.bfg on a MacBook Pro 2018 (resolution 512 512, float32, voronoi algorithm):
jit.bfg: 7-8 fps
jit.gl.bfg: 150-200 fps

By doing all the processing on the GPU instead of the CPU, you also have the benefit of freeing the CPU for audio and other related tasks. So, in a nutshell: yeah, performance!

Ricardo Matias's icon

Thanks for the explanation Pedro, that kind of performance is impressive.