New 7.3.2 Jitter Features

    Feb 16 2017 | 12:45 am
    Hey jitterists, just wanted to point out a few new features in the 7.3.2 update.
    the most significant new feature is an update to how handles height-map inputs. there is now an attribute called heightmap_mode that allows you to enable a new technique for generating vertex displacement from the map, called vertex texture fetch (vtf). vtf mode is a pretty slick way to modify geometry meshes, and since it’s facilitated through, it allows for gl-texture inputs and is super simple to use. this means your crazy gl.slab / gl.pix effects can easily be used to modify mesh vertices.
    there’s a basic demo of its functionality in a new example patch called material.heightmap (simply type this into file browser), and some more info in the help file. but even better, our good buddy Sam has shared some of his experiments with it on his youtube channel:
    we’ve also got a new feature that allows for capturing to texture non-automatic gl objects with check out the node.non.automatic.capture example file for details on using the begin_capture notification from
    there’s also some new gen based effects that duplicate some of the classic Jitter filters from the old days. since these are simply gen-patchers, they are ready to be hacked. check out the following example patches for a demo:
    and lastly, a very useful JS tool for buffering gl-textures (for delays or whatever), with functionality that mimics jit.matrixset. check out the patch to see it in action.

    • Feb 16 2017 | 12:58 am
    • Feb 16 2017 | 2:00 am
      cheers on the heightmap and textureset! i'm not really clear in what situations i would use the node.nonautomatic begin_capture bang though.
    • Feb 16 2017 | 2:40 am
      Huge thanks Rob for all the hardwork !
    • Feb 16 2017 | 9:34 am
      Rob, do you sleep at all? I have to congratulate you on all the great work you've been doing on Jitter in these last years. And, as if that was not enough, you've managed to simultaneously be the most contributive Cycling74 team member here in the forums.
    • Feb 16 2017 | 10:27 am
      Best update for a while - thanks Cycling. Jit.pix.rubix - im glad to see this - i was trying to make a rubix in pix the other day and failing spectacularly - will be interested to see how you do it.
    • Feb 16 2017 | 10:49 am
      Great update! THX
    • Feb 16 2017 | 10:55 am
      Great, Bob! But I've a question: do yo think that Cycling74 will fix the problems with jit.grab in 64bit in the future? There are to much important features that don't work in 64bit.
    • Feb 16 2017 | 11:08 am
      Where re the jit.pix files and the files? I did a search and cant locate them so far.
    • Feb 16 2017 | 1:23 pm
      Great stuff Rob! Thx!
    • Feb 16 2017 | 4:48 pm
      awesome update. thanks!
    • Feb 16 2017 | 6:33 pm
      cheers guys!
      @DADDYMAX and anyone else having problems with the example files not showing up, take the following steps: quit Max remove the Examples folder (on Mac it's /Users/Shared/Max 7/Examples, on Windows it's C:\ProgramData\Max 7\Examples) restart Max the examples folder should then be copied over again with the new files.
      @GREG FINGER - some folks have patches that rely on non-automatic drawing, e.g. multiple instances that might rely on anim.node hierarchy transformations that can't be achieved with gl.multiple. they can now capture easily capture these structures to a texture with gl.node.
      @STEFANO SCARANI - not sure what you're referring to, but if it's related to 32 bit Quicktime functionality, that functionality has been removed by apple, and nothing we can do about it. what specifically are referring to?
    • Feb 16 2017 | 10:25 pm
      Hi Rob, thank you for the vtf feature, it is awesome and useful! Latest updates from since ease and vtf are simply amazing :)
      I've just encountered few crash related issues:
      Windows 10, nvidia gtx 1060, Max 7.3.2 64bit when: using the heightmap example, when going going into fullscreen on external monitor connected via HDMI. what: the output window stops rendering and Max crashes. Same issue doesn't happen if the window is just enlarged. throubleshooting: I've tried using and instead of but I've the same behavior. notes: This stuff appearently only happens if vtf mode is involved.
    • Feb 17 2017 | 4:55 pm
      Thanks Rob - fixed. NB - if anyone else has this weird issue (update doesn't install all of the new files and examples) just reinstall and all is fixed.
    • Feb 18 2017 | 1:57 pm
      Rob, another question. any tips with using gl.textureset with gl.multiple? i see that it creates an uniquely named texture ("jit_gl_texture u921000878_cap_cap_cap" for example). it seems like the number portion of that stays the same, but the "_cap" grows every increasingly (as long as a new texture/matrix is supplied?). So if i weren't updating the textures, i'd say i could just store all the unique names/identifiers in a coll, and use a poly~ to output the specific coll index to a [ #1] (where the #1 attribute, would likely be some sequentially increasing name like tex1, tex2, tex3. depending on the poly~ voice number), but in a situation where it is a constantly updating texture (for example from the output of a jit.grab), how would i handle that situation? maybe just not use textureset?
    • Feb 18 2017 | 5:19 pm
      does anybody else had this message on starting max after installing version 7.3.2?
      "You are using an older version of 'blocks.system' (7.3.1) than was shipped with Max 7.3.2. Please verify your installation and your search paths.""
    • Feb 19 2017 | 7:12 am
      One more (hopefully final) clarification on this update: The post here suggests that the heightmap feature in can take textures. Is this definitely the case? If i hook up jit.noise to the heightmap input, it works fine. If i run it through, it stops working, unless i then put the through a matrix and convert it back. Can anyone confirm that heightmap can be controlled with
    • Feb 20 2017 | 1:24 am
      @daddymax in the help file, under the height-maps tab, there's a subpatcher called [p texture-heightmap]. In there states:
      "heightmap mode vtf and vtf_normals requires rectangle 0 on,, or inputs"
    • Feb 20 2017 | 3:35 pm
      @greg finger - huge thanks - the help file does explain it - excuse my stupid question.
    • Feb 20 2017 | 4:39 pm
      @Franz, thanks for the report. i'll check this out and see if i can reproduce a crash on windows.
      @Daddymax - yes, non-rectangular power-of-two textures are currently a requirement for VTF. this limitation will probably be removed in a future update. but i've added @rectangle as an attribute to both gl.pix and gl.slab to make things easier.
      @Greg - oh dear, that is definitely not intentional. i've attached an updated version of the JS that fixes that. simply replace this in your examples folder: (Users/Shared or C:\ProgramData) /Max 7/Examples/jitter-examples/javascript/render
      thanks for catching that!
    • Feb 21 2017 | 1:03 am
      thanks for the fix.
    • Feb 22 2017 | 7:21 am
      Greetings, I’m trying to migrate to gl.textureset from matrixset.
      I’m resampling a texture the way I can resample a matrix in matrixset and I’m running into a smear problem. When I route the gl.textureset out, then back in through an op.max I’m getting smearing as if the texture size doesn’t match. With each pass the smearing widens. Should I be doing this a different way?
    • Feb 22 2017 | 7:24 am
    • Feb 22 2017 | 5:15 pm
      hi stephen, your patch looks pretty solid to me. the "smearing" thing can happen if the textures dimensions are mismatched. i would just make sure your dims are all the same for each texture output, using jit.fpsgui.
      also, make sure you use the updated textureset.js posted above.
      rereading your post, i see you already understand the cause is mismatched dims. i tested it with a jit.grab input, and all dims were equal with no smearing, so i'd just double check that.
    • Feb 22 2017 | 7:15 pm
      Thanks Rob. Here's an example of the smear using jit.lcd. All the dims seem to match.
    • Feb 23 2017 | 7:31 pm
      you can fix this by sending the message "sendoutput filter none" to your object, triggered by a loadbang.
    • Feb 23 2017 | 9:32 pm
      Wow.. you have amazing sleuthing skills! Thanks!
    • Feb 25 2017 | 11:40 pm
      Is is possible to apply a heightmap to a material applied to an
    • Feb 27 2017 | 3:54 pm
      sure, but it generally doesn't look that great with low-poly models:
    • Feb 28 2017 | 9:27 am
      hey @ROB RAMIREZ , i'm experimenting with using your above patch with instead of the gl.model, and lighting for only one side of the nurbs surface is calculated. Is there any way to be able to see 'both' sides? (i'm sorry i don't really have the graphics terminology for this).
    • Feb 28 2017 | 6:29 pm
      unfortunately not, only supports shading of front facing polygons