jit.gl.model matrix output vs gridshape matrix output


    Mar 09 2006 | 10:11 pm
    Hi
    Why does the jit.gl.gridshape morphto patch in examples work with gridshape, but not with jit.gl.model with the exact same planecount/dim?
    Ive attempted loading the same model file into two jit.gl.models with matrixoutput 1 to a jit.xfade, and then to the gl.render. No output.
    if I send right out of one jit.gl.model to render with matrixoutput 1, it works.
    if I sent out of one jit.gl.model with matrixoutput 1 to the addnoise patch from jit.gl.model helpfile to gl.render it works.
    if I put a jit.matrix after jit.gl.model with matrixoutput 1 to gl.render it doesnt work.
    Essentally, what is the zl doing in addnoise that none of the other jitter objects doing?
    Why cant I put a jit.matrix after jit.gl.model with matrix output enabled?
    Im assuming im missing something basic here.
    Thanks.
    v a d e //
    www.vade.info abstrakt.vade.info
    I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE!
    You will not be saved by the Holy Ghost. You will not be saved by the God Plutonium.
    In fact, YOU WILL NOT BE SAVED!

    • Mar 09 2006 | 10:54 pm
      I should note that I do have a working "model morph" patch with zl strip and zl join as based on the addnoise patch, but im curious as to why a simple jit.matrix between jit.gl.render and jit.gl.model @matrixoutput 1stops rendering of the model?
      v a d e //
      www.vade.info abstrakt.vade.info
      I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE!
      You will not be saved by the Holy Ghost. You will not be saved by the God Plutonium.
      In fact, YOU WILL NOT BE SAVED!
    • Mar 09 2006 | 11:12 pm
      On Mar 9, 2006, at 2:54 PM, vade wrote:
      > I should note that I do have a working "model morph" patch with zl > strip and zl join as based on the addnoise patch, but im curious as > to why a simple jit.matrix between jit.gl.render and jit.gl.model > @matrixoutput 1stops rendering of the model?
      Come on folks...examples, platforms, detailed descriptions to reproduce? It's hard to for us to speculate on exact conditions, and we're too busy with a variety of development tasks here to take stabs in the dark based on vague information. Help us help you.
      Without this info I can only speculate that you are trying to interpolate between mismatched size geometries or otherwise truncating wither the dimensions or the plane count of the matrices. Note that the matrix output of jit.gl.model is *very* different than that of jit.gl.gridshape. It sends a sequence of matrices (one for each group), and they are of triangles, rather than the grid format of jit.gl.gridshape where connectivity is implicit in the data organization.
      Personally I see little use of trying to morph between models in this fashion, unless the models were very carefully created to both have the same number of vertices which would roughly correspond to one another's values. Otherwise I would suggest employing some higher level logic and perhaps JS or Java to try and figure out intelligent ways to morph between the geometries.
      -Joshua
    • Mar 10 2006 | 12:14 am
      fair enough.
      here are 2 example patches.
      omfg1 works
      omfg2 does not
      10.4.5, PB 1.67 128Mb video option
      max 4.5.6 jitter 1.5 2
      why does zl slice 2 work as in 'addnoise' subpatch of jit.gl.model when matrixoutput is enabled. please explain.  v a d e //
      www.vade.info abstrakt.vade.info
      I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE!
      You will not be saved by the Holy Ghost. You will not be saved by the God Plutonium.
      In fact, YOU WILL NOT BE SAVED!
    • Mar 10 2006 | 12:16 am
      and by the way, one CAN interpolate between mismatched geometry and vertices with jit.gl.model with the zl slice/zl join and an xfade, see this slightly ugly patch as an example
      this is a dirty mockup, but you should be able to get it. the second model doesnt quite match, but if you are doing abstract stuff, its close enough, and fairly fast w/o having to count verts in your models.
       v a d e //
      www.vade.info abstrakt.vade.info
      I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE!
      You will not be saved by the Holy Ghost. You will not be saved by the God Plutonium.
      In fact, YOU WILL NOT BE SAVED!
    • Mar 10 2006 | 12:44 am
      On Mar 9, 2006, at 4:14 PM, vade wrote:
      > fair enough. > here are 2 example patches.
      Because the default render primitive for receiving matrices is tri_grid, and you need to use primitive "triangles". By connecting a print object to the outlet of jit.gl.model demonstrates that there is a third symbol "triangles" for this purpose, which is stripped by passing through jit.matrix. Your problem is solved with either an "append triangles" or by [jit.gl.render @primitive triangles].
      > why does zl slice 2 work as in 'addnoise' subpatch of jit.gl.model > when matrixoutput is enabled. please explain. >
      Exactly this reason. It strips the primitive from the tail (in this case "triangles") and appends it after matrix processing to inform jit.gl.render of the appropiate drawing primitive to use to draw that specific matrix. Alternately set jit.gl.render's primitive attribute as mentioned above.
      Please see the tutorial on matrix output--i.e. 37 "geometry under the hood". It covers this behavior. OMFG, who'd have thought? ;)
      -Joshua
    • Mar 10 2006 | 12:54 am
      :D
      I think what you meant to say was "RTFM NOOB" ;)
      Thanks, that makes perfect sense. Strikes me as a bit odd though, but whatever works!
      v a d e //
      www.vade.info abstrakt.vade.info
      I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE!
      You will not be saved by the Holy Ghost. You will not be saved by the God Plutonium.
      In fact, YOU WILL NOT BE SAVED!
    • Mar 10 2006 | 1:07 am
      On Mar 9, 2006, at 4:54 PM, vade wrote:
      > Thanks, that makes perfect sense. Strikes me as a bit odd though, > but whatever works!
      Yes, it might seem unconventional w/r/t most Jitter matrix processing, but keep in mind that jit.gl.render might receive multiple matrices in a given frame (e.g. a jit.gl.gridshape with primitive "quad_grid", and a jit.gl.model with primitive "triangles"), and this information needs to be communicated to jit.gl.render somehow once it's made it into Max message land.
      Then again, nothing's *that* odd as long as it's documented ;)
      -Joshua
    • Mar 10 2006 | 1:19 am
      Yeah, i get that render will be getting varied draw primitives throughout one frame to draw, I just meant that @matrixoutput 1 that jit.gl.model doesnt output the extra [primitive mode] as gridshape, etc does. I assumed that it would. (BTW I have read most that chapter ;), but I didnt think that the primitive mode wasnt being sent. I did ass-ume.
      Thanks again for the help.
      v a d e //
      www.vade.info abstrakt.vade.info
      I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE!
      You will not be saved by the Holy Ghost. You will not be saved by the God Plutonium.
      In fact, YOU WILL NOT BE SAVED!
    • Mar 04 2012 | 1:26 am
      OK I know this thread is 5 years old, but it's the most directly relevant to what I'm trying to do (and am somewhat completely lost at). I apologize if thread revival like this is frowned upon.
      I want to blend/morph a jit.gl.model with a jit.gl.gridshape using jit.xfade (or two jit.gl.models, etc). I can't seem to get anything to work, nor make much sense of this thread - possibly because it's using max 4.5.6 paradigms for things (I never used Jitter much in those days, I totally don't remember having to connect things directly to the render object...)
      The attached patches having all disappeared from this thread isn't helping as I'm a bit lost without them.
      Essentially:
      What do I need to do to connect a Jit.GL.Model @matrixoutput 1 to a jit.gl.mesh through a jit.xfade, in Max 6?
      Thanks!