Max 8.3 Jitter Features


    May 03 2022 | 5:03 pm
    Hey everyone, now that the initial buzz around the 8.3 release has died down a bit, and you’ve had some time to explore the (20+ !) new objects I’d like to shed a little light on the new Jitter features we’ve snuck into this release. We will continue to highlight these features over the coming weeks so this post should be taken as an introduction.
    The new jit.gl.pbr object for physically based rendering material effects
    The new jit.gl.pbr object for physically based rendering material effects

    GL3 features

    • First up, our most significant new feature is an experimental implementation of physically based rendering (PBR) in the form of a new object called jit.gl.pbr. The object functions similarly to jit.gl.material in that it generates a shader for any attached 3d objects and will dynamically adapt to the context lighting state. There are also several inputs to provide image maps for the various properties of the shading model. The object supports image based lighting (IBL) reflection and irradiance maps via the environment texture input. Additional features include a sophisticated parallax heightmapping effect with self-shadowing and ambient occlusion, and new texture coordinate generation techniques (@tex_gen biplanar / triplanar). All features are demonstrated in the help patch. Please note that the experimental designation above indicates that both the implementation and interface is subject to change while we continue to refine this object.
    • jit.gl.cubemap now directly supports loading equirectangular formatted panorama images, with optional gamma correction.
    • jit.gl.light @type hemisphere for lighting scenes with default shading or with jit.gl.pbr materials. Hemisphere lighting (also known as sky and ground lighting) is similar to directional but the light is cast both from above (sky), and below (ground).
    • jit.gl.pass @fxname gamma - A new gamma correction, tonemap and dithering pass effect. Search the file browser for gamma.correction.pass for a demonstration and explanation of the features.
    • Texture to texture copying is improved and simplified e.g. when attempting to adapt dimensions but change the texture type or rectangle mode.

    Jitter Tools

    • jit.gradient.ui for generating and modifying gradient matrices
    • jit.gl.meshwarp masking mode - Functionality detailed in the help patch "mask mode" tab
    • jit.gl.meshwarp texture output functionality

    UX improvements

    • Drag and drop image file support added to jit.matrix, jit.gl.texture and jit.openexr
    • Shader editing in jit.gl.shader and jit.gl.slab will now retain the current parameter state when live editing the shader
    • attrui preset and pattr support (perhaps the single biggest UX improvement for Jitter users in some time!)

    Image loading

    • Images displayed by matrix and texture objects are now no longer affected by the display color profile. The loading process should also be slightly faster.

    • May 03 2022 | 5:05 pm
      As mentioned in the Image Loading item, there is a new code path for loading images in Jitter that should be faster than previous versions, however bugs are likely still being uncovered. We've already pushed an update to the VIDDLL package in our Package Manager (version 1.2.7), so all viddll engine users should pull in that update with 8.3.
    • May 03 2022 | 7:05 pm
      The PBR materials are amazing. The textures and how they interact with the light and environment is really nuanced. As you are still developing it, what would be good is a jit.gl.material style interface? The current one works well but it takes up a bit of space due to all the inputs and options?
    • May 04 2022 | 7:40 pm
      This is so great, the graphics look amazing , I managed to create a transparent material using the jit.gl.pbr object, I recorded a demo using a NVIDIA GeForce GTX 1070 : https://youtu.be/4cOcSOzecrM Thank you for this Cycling74 Jitter developers :)
      Observation : the environment file ( background) is not displayed after changing the size of the context window , example : switching to @fullscreen 1
    • May 05 2022 | 8:18 am
      I am not understanding jit.gl.meshwarp masking mode.
      In the help patch when I click on: 1 - Enable "mask_mode". The plane gets dark and the UI disappears.
      Then: 2 - Press "shift" and double click inside the plane. Nothing happens. I think the UI should reappear for steps 3-7.
      What am I doing wrong?
    • May 05 2022 | 4:33 pm
      Hey Wil, it should indeed work as you described. If you try to repeat those steps from the help file do you get the same result? In any case, please let me know which OS and Max version you are on
    • May 06 2022 | 6:05 am
      Hi Federico, Yes. I uses the help file. This is Max 8.3 - Mac OS Monterey (12.4 beta). The beta should not matter, it is just fixes for Monterey. I am really not sure what is the problem. Here are some screen shots:
      help file with mask_mode off.
      help file with mask_mode off.
      help file mask_mode on
      help file mask_mode on
      Then, holding "shift" I double click the video plane - nothing happens.
    • May 07 2022 | 9:34 am
      Hi Federico, After a reinstall now it is working. Thanks!
      help file mask-mode working!
      help file mask-mode working!
    • May 08 2022 | 9:33 am
      Very glad to hear that!
    • May 11 2022 | 10:29 am
      jit.gl.pbr is a mega upgrade — thanks to all the people involved, and also for the latest bug fix. Now, is there any guideline as to how the albedo_texture must be sampled when used on a jit.gl.model? With jit.gl.material it is straightforward, i.e. the model's colormap can be used as diffuse_texture 1:1 — not so qith jit.gl.pbr. On a plane mesh an image has to be partially resampled/mirrored/shifted to yield the desired texture, and it can be done. The same algorithm, however, cannot be applied to a model it seems and since its coords are far from intuitive I am a bit lost here. Any help is appreciated!
      jit.gl.pbr albedo_texture for jit.gl.model needs a resampling algorithm — is there one?
      jit.gl.pbr albedo_texture for jit.gl.model needs a resampling algorithm — is there one?
    • May 11 2022 | 2:18 pm
      thanks for the patch! I honestly have no idea why it's exhibiting this behavior. we'll take a look.
    • May 11 2022 | 9:38 pm
      :-)
    • May 11 2022 | 11:55 pm
      I have the same issue, I can make the jit.gl. gridshape transparent by adjusting the alph of its diffuse map, but doesn’t work with jit.gl.model.
    • May 12 2022 | 8:30 am
      @WEI you'll want to map the model matrix (@matrixoutput 1) to a jit.gl.mesh and with jit.gl.pbr attached to the latter the transparency can be adjusted using the alpha channel in the albedo_texture. However, in this case, the color/alpha mapping will currently not match the target coordinates and will thus produce uninented aesthetics.
    • May 12 2022 | 1:45 pm
      ok perhaps not as mysterious as I initially thought, looks like the textures are simply flipped vertically (as they are wont to do). we'll get it fixed up, but the workaround is simple enough for now:
    • May 13 2022 | 10:31 am
      sigh thanks for checking it out, missed the forest for the trees there.
    • May 18 2022 | 7:00 pm
      Hey all, the Jitter team has cooked up an extra special Amazing Max Stuff video that walks through some of the fantastic new features in 8.3, as well as a sneak peak of some of the new hotness still in the works.

      Max/MSP Jitter 8.3 Features Walkthrough | Special Guests Rob Ramirez & Matteo Marson

    • May 18 2022 | 11:43 pm
      👏🏻👏🏻👏🏻 Fun!
    • May 19 2022 | 12:51 am
      Wonderful!
    • May 19 2022 | 12:02 pm
      @oni and @Rob thanks!
      and nice tutorials for the new 8.3! maybe i can try with the jit.gradient.ui for the transparency too!
    • May 31 2022 | 10:11 pm
      latest gl3 update fixes some issues in this thread and adds texture input support to jit.gl.pbr - https://cycling74.com/forums/gl3-package-update-0-3-1