GEM: Primera Sesión

ARCHIVOS CLASE:
- 1 gemwin
- 2 primitivas
- 3 tranformadas
- 4 tranformadas rotate
- 5 separator
- 6 texturas
- 9 texto
- 10 transparencias
- 11 modelos (objetos OBJ)
curiosidades
Plugin para exportar archivos en formato obj (desde 3dmax)
Introducción el árbol de rendering y a la ventana de render
[gemwin] - Ventana
[gemhead] - Objecto que renderiza
[dimen] - dimensión
manips - Para mover un objeto en la escena
geos - Renderizar una forma
- En GEM sólo podemos tener una ventana [gemwin] de visualización.
- Necesitamos siempre un [gemhead] para abrir una cadena de rendering. Al igual que el dac~ en pd. Por cada ciclo, normalmente 20fps gemhead dibuja
- Tenemos que modificar los valores del [gemwin] siempre antes de abrir la ventana
- Los inlets de la izquierda generan la Gem-list. El de la derecha nos permite cambiar atributos de los objetos.
- Las medidas en Gem son dadas en unidades generales, ninguna en particular. Si un objecto tiene una longitud de unidad 1, otro que tenga una longitud de unidad 2 tendrá seguro el doble de longitud.
Primitivas
Los Gem-objetos más simples son las formas primitivas:
- [rectangle a b]
- [triangle edge]
- [circle diametrer slices]
- [cone diametrer]
- [sphere diametrer]
- [square a b]
- [cube]
- [cuboid]
- [disk]
- [tube]
Manipuladores
Al conectar un Geo al [gemhead] se dibuja en medio de la pantalla. Cada primitiva tiene su propio eje, punto de pivote, en el centro de masas del objecto.
-[translateXYZ]
en los 3 ejes, con respeto a la cámara.
-[rotateXYZ]
en los 3 ejes, con respeto a la cámara.
El orden de los manipuladores es muy importante. Si movemos primero y luego rotamos la rotacións se aplica sobre el mismo eje. Si lo hacemos al revés la rotación se aplica sobre el nuevo eje.

- Es recomendable tener los Geos en diferentes [gemhead] para que las transformaciones no afecten entre objectos. Si aún así queremos utilizar diferentes transformaciones dentro de un mismo Gemlist podemos hacer las separaciones con un [separator]
>> para poder mover la escena con el ratón! gem_viewctrl
Texturas
Para mostrar imágenes como texturas cargamos en RAM una imagen con pix_image (formatos jpg,tiff) y la enviamos al Geo por [pix_texture]. Gem mantiene el formato de RGBA, si la imagen no tiene canal alpha entonces pone el valor de 255.
Las imángenes cargadas en openGL tienen que tener un ancho y una altura en una relación de potencias de 2. Por ejemplo: 512x256. Si utilizamos otras dimensiones tendremos malos resultados. Para evitarlo podemos utilizar [pix_texture2]
Open Sound Control (Recibir datos de Eyesweb)
http://opensoundcontrol.org/
http://en.wikipedia.org/wiki/OpenSound_Control
http://puredata.info/Members/martinrp/OSCobjects/
0. Instalar la librería OSC
1. Cargar la librería escribiendo en un objecto [OSC]
2. Escribir el siguiente código para recibir los datos de Eyesweb

2. Enviar datos a Eyesweb
Para enviar datos a Eyesweb tenéis que utilizar la instrucción sendOSC.