GEM: Primera Sesión

ARCHIVOS CLASE:

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.

Archivo pd y Eyesweb 3.0.1

Archivo de Eyesweb 4.0.2