Forums > Jitter

jit.gl.model matrix output vs gridshape matrix output

March 9, 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 //

http://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!


March 9, 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 //

http://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!


March 9, 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


March 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 //

http://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!


March 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 //

http://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!


March 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


March 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 //

http://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!


March 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


March 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 //

http://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!


March 4, 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!


Viewing 10 posts - 1 through 10 (of 10 total)