documentaion on gem++

Johannes M Zmoelnig zmoelnig at
Mon Jul 10 18:14:45 CEST 2000

On Mon, 10 Jul 2000, Thomas Loop wrote:

> Hi Johannes,
> >therefore i have written a "view" method for the GemWin object (which
> >controls the whole scenery and therefore seems to be predestined to
> >influence the viewing point of the whole scenery) which is exactly what
> >you want (as i think)
> ....
> >on Win98 I had it work for a quite long time (12-24h) without any crash;

ah, maybe i promised too much :: i saw the whole thing crash on Win98
after a view seconds on another machine than mine (unfortunately, this was
the one machine that was supposed to perform in public...)

> I am very interested, as I work on Win98 at the moment.
you really should change to anything else :-)

> >I have also done a "fog" method and a material object (although I lost
> >formatted my harddisk and lost the latter...but of course I can do this
> >again if anybody get's interested)
> Again, sounds very interesting.
> Could you somehow publish the objects for Win98.
> It's a shame, but I'm a plain (l)user at the moment. No compiler nor the
> knowledge to compile pd/gem objects.
> Guess the stuff is included in the gem++ tarball you uploaded, right?

ah for all those users that cannot afford microsofts applications, i have
put a zip-file on our ftp-server, that provides only the gem.dll;
get it from , unpack it and
have fun.

the gem++ tarball contains nothing but the sources

changing the viewport::
send a message-list to the "gemwin"-object
"view <x_eye> <y_eye> <z_eye> [<azimuth> [<elevation>]" will put the
viewer onto the specified position looking into the specified direction;
note that there may arise some unexpected behaviour, because normally, the
viewer is located at (0/0/-4) or (0/0/+4) (cannot remember);   i dunno
whether i add this offset internally; maybe you have to do it yourself
azimuth and elevation are both given in degree (this is 0..360); i did
this piece of code very rough and therefore the picture might flip
for 180deg when reaching an elevation of 90deg. This is because I need not
deal with looking straight upwards/downwards in my specifique case...

"view <x_eye> <y_eye> <z_eye> <x_center> <y_center> <z_center> <x_up>
<y_up> <z_up>" gives you total control over the used gluLookAt -procedure;
the _eye coordinates are as above, the _center coordinates define (nona)
the center of confusion, the up_coordinates define a vector that is points
to your hat (and not to your mouth, cyclop !); of course the up_vector
must not be parallel to the viewing direction (center-eye)

changing the fog::
"fog <density>" will change the density of the fog depending on which
exponential fogmode you use; the greater <density> is, the denser the fog
becomes (gotit ?)
negative densities are truncated to no density
"fog <a> <b>" will modify the parameters for linear fog; something like
"beginning and ending" of the fog range
"fogmode <n>" will switch between linear-fog (0), exponential-fog (1,
default) and exponential^2-fog(2)
"fogcolor <r> <g> <b>" sets the fogcolor

a  disk-object
"disk": very similar to all other spheric-geos (cylinder, cone, sphere)

ah, next time i will do a documentation in the tar-balls, this will be
less effort. thought i would be faster this way ::--_


> Thanks for your time and greetings,
>             .loop.

More information about the Pd-list mailing list