I want to achieve the glitch effects used in the game Memories of a broken dimension.
But I can't get complex glitches like that with Max.
Any idea how I can make those beautiful glitches ?
Thank you for help !
Thanks for sharing the link to the video GRIGOU. Very inspiring.
The effects used for this seem to include the following:
a) geometric distortion of rendered ego view - maybe the attached patcher shows a way how to get there:
b) different effects on different parts of the rendered ego view (horizontal region) changing horizontal dimension. Something like this can be achieved using multiple jit.gl.cameras and adjusting their viewport settings. Also using different jit.gl.node @shader attached to the 3d objects might be useful here.
c) gauss filter, edge filter - there are jit.gl.slab or jit.gl.pix versions available in Max.
Some effects seem to be related to manipulation of vertices of the 3d objects via an vertex shader and some fragment shader manipulation as already noted with different viewports for different parts of the final image and additionally some fragment shader for the entire final rendering.
I'm glad you liked the video ! I love that kind of visuals !!!
A BIG THANKS for your advices and to took the time to make this patch (and with commented code !).
I really appreciated, and I laughed when I saw you used also my audio glitch examples ! :)
The result of your patch is clearly in the right direction !!
I think I understand the global idea, but I always had difficulties to understand the effects of objects like :
jit.unpack 3 @jump 3 2 3 @offset 0 3 5
I know it output each individual planes of a matrix, but how do you know what are those planes (and in which order they are) ? jump and offset attributes are mysterious to me...
How do you learn to do those tricks with gen ?
Especially the code part with signed normalized coordinates.
I love glitch art, and I have a lot of ideas in mind to develop glitch machines with Max, but for now, I don't have enough skills to achieve my goals :(
I don't have big difficulties to make glitch with audio, but with the video... it's another story !!
Mathematics are clearly not my best skill, so it's difficult for me to know what to do when I want to make video glitch like that.
I used jit.gl.slab and jit.gl.pix a little, but always taking part of code I found on this forum, but I could never do the effects myself from scratch, and shader are also a big mystery for me...
Do you have any advice on how I could increase my skills on that glitch world ?
Maybe creating a big thread on glitch art (audio and video) on this forum could be a good idea to regroup techniques, ideas, patches, etc. What do you think ?
The normalised coordinates stuff is somehow standard way to access jit.matrix content. https://cycling74.com/tutorials/demystifying-expressions-in-jitter/
Using the [snorm] instead of [cell] is the preferred way if you want to use matrices of different size e.g. video of different resolution, because the code will behave invariant of this.
Referring to my example the gauss function that I used was just an arbitrary approach to illustrate how to change the distortion amount along the y-axis. One could also use a noise function [jit.bfg] or another arbitrary matrix of different size than the [jit.gl.gridshape] that is fed in the left inlet of [jit.gen]. On would use an additional [in 2] object and a [sample] within [jit.gen] to distort the vertices with another pattern.
My personal recommendation for great tutorials on jitter is this
amazing visuals in that game :)
(also, love that patch of Martin's above, nice work 🙌)
referring back to the video posted by the OP: maybe i'm mistaken and some of the effects really are a keyframe problem when the video was uploaded to youtube(i didn't try the original game out yet), but some of that pixelation that seems to 'flow' out from the objects in certain ways reminds me of Andrew Benson's optical-flow related shaders:
(since that thread seems to have dropped his attachment a couple times already, i'm attaching an extra .zip here just for posterity)
hope it helps.
Cool Raja, I really like this optical flow related shader by Andrew. Thanks for pointing to this.
Waking up this morning I thought I should have look at the patch I posted above and change the vertex manipulation to texture coordinate distortion just by rewiring the patch cords:
Very nice ideas here ! Thanks a lot !
I already checked jit.unpack and jit expressions tutorials.
It's a bit more clear. Now, I need to go deep in jit.gen and pix.
And experiment with the patchs on this thread !
Thanks for the video Martin ! It's really beautiful ! Love it !
For now, I tried to do a random VHS glitch with jit.gl.pix.
The effect is interesting, but I think it could be better.
What do you think guys ?
Really nice ! A lot better than my attempt. Thanks Martin !
I still need to work on my noise VHS pattern generation to make a better glitch visual !
I'm not quite satisfied with my code for this part.
Working on glitch ideas is an endless pleasure for me :)
Thanks Martin for the patch !
The video you shared is really nice !
I love this kind of glitching geometry.
I made some patches with 3D shapes generation like that, I will try to mix that with those glitchs.
So let's make the patch a little more crowded ;-) I recommend to use Rajas "Journey of the sparklies" as music to drive the visuals https://cycling74.com/forums/-share-•˚**˚•˚*_journey-of-the-sparklies_*˚•˚**˚•
The main difference to the previous patch besides camera automation, voronoi origin automation and higher dim of the gridshape is the change in the pixelation code. Have look at the parameter horsamp. If it is zero the sampling in horizontal direction leads to the lines effect.
Martin, you're the Master of glitch here !!!
Your last patch is exactly what I was dreaming to do with Max since months (and years) !
jit.gl.pix is really a beast for those kind of visual glitches.
I really need to master it.
I have a question for the part 2 of your patch (the 2 jit.gl.texture objets) : is it better to feed textures with video ? Or it's possible to feed them with other kind of input without breaking the glitch effect ?
I was thinking about sending the content of the jit.gl.node inside the two jit.gl.texture objets or the output of jit.gl.pix (the one for the displacement map) or the output of jit.gl.slab world @file cf.gaussian.2p.jxs or adding another glitch map for the texture.
this reminds me on actual glitches of quake or unreal engine type of games which were partially incompatible with certain graphics cards or a problem loading the correct shader for some elements in the map.