Gem Rendering

Guenter Geiger geiger at
Sun Aug 13 12:08:27 CEST 2000

Gabriel Maldonado writes:
 > Two questions about GEM.
 > 1) is it possible to enable/disable rendering of some object chains
 > selectively, in order to economize CPU time? I ask this because some
 > geos could be visible at a certain moment, while other could  be visible
 > in other moments. I'd like rendering time to be totally under the user
 > control, because CPU and DSP acceleration resources are obviously
 > limited. Sending message 0 and 1 to "gemhead" object helps?  What about
 > init gemhead with an argument different from 1 (for example "gemhead 20"
 > that is used in some example).
 > Is switch~ object also useful in this case?

Yes, you are right, sending a "0" stops the rendering chain and
therefore saves CPU cycles. Turn on again with "1".

switch~ doesn't help.

The init argument of a gemhead tells the system when the chain should
be rendered. The default is 50, so when you have a "gemhead 20", it is 
rendered before all other default gemheads.

This is needed if you have objects with alpha channels for example, 
because the system has to draw all objects in the back, before it can
draw an object in front correctly (transparent).

Same with light. The lights should always be "drawn" before objects
are drawn, because the objects need to know what kind of light there

As GEM uses OpenGL it helps if you know the concepts of OpenGL and its 
state machine.

 > 2) Is it possible (or will it be possible) to record GEM video rendering
 > to AVI/mpeg (or even other video formats) files on the hard disk? This
 > would be great for further video processing purposes.

I have started to experiment with this, but only for Linux, and I
couldn't come up with a solution which didn't affect the performance
too badly. (I didn't try too hard either).

I'd like to try it again, but it seems that I just can't find the time
to do it.


More information about the Pd-list mailing list