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!