Dear all,
My name is Juliana Kaizer Vizzotto, I'm an assistant professor at computer science lab at Federal University of Santa Maria/Brazil. I have some students working with pure data. We are trying to develop some externals to work with fractals generation in pure data. We are using opengl for the images and we would like to develop a new gem object. However we don't have examples of how to create new gem objects, like cube, for instance. We download the svn development sources... Please, it would be great to have the source of cube, for instance, or any other tip. It would be great if you could help us.
Thank you very much!
Sincerelly,
Juliana Kaizer Vizzotto.
ola
On 04/08/2011 04:09 PM, Juliana Vizzotto wrote:
for instance. We download the svn development sources... Please, it would be great to have the source of cube, for instance, or any
there is no real documentation on how to do that.
if you want to do it in C++, you should go for the sources. basically, each Gem-object has it's own file (living in different directories, depending on their "type"). e.g. the code for [cube] can be found in Gem/src/Geos/cube.cpp (.h).
to start a new object, it's probably easiest to just copy an existing object:
the above is a bit simplistic, you will probably want to do the search&replace manually, rather than trusting sed; obviously, you also might want to add some code before running make.
however, there you don't necessarily need to write C++ code. for simple things, Gem wraps all the openGL commands into objects. e.g. you can use [GEMglVertex3f] rather than glVertex3f()
for more complex things, you could use one of the scripting languages supported by Pd, e.g. lua (frank barknecht has done some nice things with Gem & lua; there might be examples in the web...)
and of course there is GridFlow's openGL injector, that allows you to write openGL commands as messages, and inject them into Gem. something like (it's surely not working, but you should get the idea):
[gemhead] | [Vertex 3 4 5, Color 1 0 0( | [gf.gl]
gfasdrm IOhannes
Hi, thank you very much for the reply.
Lets see...
If we can manage that to work, we can contribute with the pd community with some documentation.
Cheers,
Juliana
2011/4/8 IOhannes zmölnig zmoelnig@iem.at
ola
On 04/08/2011 04:09 PM, Juliana Vizzotto wrote:
for instance. We download the svn development sources... Please, it would be great to have the source of cube, for instance, or any
there is no real documentation on how to do that.
if you want to do it in C++, you should go for the sources. basically, each Gem-object has it's own file (living in different directories, depending on their "type"). e.g. the code for [cube] can be found in Gem/src/Geos/cube.cpp (.h).
to start a new object, it's probably easiest to just copy an existing object:
- copy
$ cp Geos/cube.cpp Geos/supercube.cpp $ cp Geos/cube.h Geos/supercube.h
- rename the object's internals
$ sed -e 's|cube|supercube|g' -i Geos/supercube.cpp $ sed -e 's|cube|supercube|g' -i Geos/supercube.h
- recompile
$ make
- use
[supercube]
the above is a bit simplistic, you will probably want to do the search&replace manually, rather than trusting sed; obviously, you also might want to add some code before running make.
however, there you don't necessarily need to write C++ code. for simple things, Gem wraps all the openGL commands into objects. e.g. you can use [GEMglVertex3f] rather than glVertex3f()
for more complex things, you could use one of the scripting languages supported by Pd, e.g. lua (frank barknecht has done some nice things with Gem & lua; there might be examples in the web...)
and of course there is GridFlow's openGL injector, that allows you to write openGL commands as messages, and inject them into Gem. something like (it's surely not working, but you should get the idea):
[gemhead] | [Vertex 3 4 5, Color 1 0 0( | [gf.gl]
gfasdrm IOhannes