/cursoOF

Curso en español de openFrameworks aplicado a la creación

Primary LanguageC++

logo

Curso de openFramework

openFrameworks es un kit de herramientas de código abierto C++ y multiplataforma diseñado para ayudar al proceso creativo, proporcionando un marco sencillo, intuitivo y transparente para la experimentación. El kit de herramientas está diseñado para funcionar como un pegamento de uso general, envolviendo varias bibliotecas de uso común, incluyendo: OpenGL, Glew, GLUT, libtess2 y Cairo para gráficos, RTAudio, PortAudio o FMOD y APC para la entrada, salida y el análisis de audio, FreeType para las fuentes, FreeImage para guardar y cargar imagenes, Quicktime y videoinput para reproducción de vídeo, Poco para una variedad de utilidades,y muchas otras mas.

Desarrollado por Zach Lieberman, Theodore Watson y Arturo Castro, junto con una comunidad de desarrolladores que crece día a día poniendo al alcance de artistas y creativos código de gran estabilidad, robustez y profesionalismo. Es por eso que los objetivos básicos de este taller no sólo es aprender a realizar instalaciones y aplicaciones básicas, sino también aprender a compartir y colaborar en esta fructífera comunidad internacional.

Objetivos

  • lograr calidad técnica básica, sin caer en tecnicismos, que brinde un punto de partida para investigar inquietudes personales.

  • disfrutar del proceso de crear junto con otros

  • promover el espíritu y filosofía openSource tejiendo una comunidad

  • comprendan como apropiarse y adaptar librerías de dominio público con fines artísticos y creativos.

¿Qué es necesito para comenzar?

  • mucho entusiasmo, curiosidad y paciencia

  • conocimientos básicos de programación (Director, HTML, AS3, Java, JavaScript Proccessing, C, C#, C++)

  • compartir

  • una computadora con las librerías de openFrameworks y un IDE compatible instalado

Programa

¿Qué es openFrameworks? ¿Qué se puede hacer en oF? ¿Cómo se instala?. Compilando y ejecutando ejemplos. Estructura del testApp (setup, update y draw). Uso y manejo de repositorios Git.

Breve relato sobre la relación de los sistemas Unix y C. Presentación del lenguaje C++. Cómo dibujar objetos sencillos en pantalla. Familiarización con el sistema de ejes cartesianos. ¿Qué es una variable? ¿Qué tipos hay? Jugar a mover cosas con el mouse. Cargar imágenes y moverlas.

Lo Apolíneo y lo Dionisíaco. “Noise” vs “Random”. Trigonometría básica aplicada. Del sistema de coordenadas cartesianas, coordenadas polares y sus usos. Cannon, secuencia Fibonacci, sección áurea y regla de los tercios. Utilización de valores normalizados, módulos y casteo de variables. Mapeo e interpolación. Visualización de datos. Matemática vectorial y fuerzas aplicadas a un sistema de partículas. Posición, velocidad y aceleración. Gravedad y repulsión. Colisiones.

Descripción detallada y extensa sobre arrays y punteros. Jugar con la alocación en memoria. Recorrer una imagen pixel por pixel. Aplicaciones interactivas estilo “Mirror”. Optimizar el sistema de partículas para utilizar imágenes y video.

Agregando addons a proyectos. ofxOpenCV, ofxOsc, ofxXmlSettings. ofxAddons.com como fuente de inspiración y recursos. Apropiación de tecnología. Recorrido por algunos addons y proyectos que utilizan librerías externas a openFrameworks o dispositivos multimedia. EyeTracker. ofxFaceTracker. ofxIPcam, ofxARToolKit, ofxPTAMM, ofxKinect, ofxOpenNI, e.

Introducción al motor 3D de openGL. Matrices de transformación. ofPushMatrix()/ofPopMatrix(). ofTranslate()/ofRotate(); ofScale().Introducción al pipeline de OpenGL. Espacio, cámaras y renders. ofVertex y ofMesh. Texturas dentro de imágenes y video. Frame Buffer Objects.

Fractales. Life-games. Células Autómatas. Reacción-difusión. El Conductismo y la Teoría general de los Sistemas. Segregación y preferencia. Sistemas auto-organizados (flocking systems). Algoritmos genéticos (búsquedas y evolución). Redes Neuronales.

La integración del pensamiento divergente/convergente como modelo de un diseño mixto. Programación en paralelo y GLSL Shaders. Diseño de aplicaciones mediante patrones y modelos. El proceso de desarrollo desde el diagrama UML y su implementación.

Material y referencias

En español

En ingles

Colaboradores

Patricio González Vivo, Licenciado en Psicología, especializado en Terapias Expresivas combinadas. Becas de investigación: “Interactivos 2010” en Espacio Fundación Telefónica y Taller de producción en el MediaLab del Centro Cultural Español en el 2011. Docente adjunto de “Conexión Creativa® I y II” en la Facultad de Artes Dramáticas de la Universidad del Salvador (2007-2010). Actualmente se desempeña como Profesor Titular de Programación Aplicada al arte I y II en la carrera de Artes Multimediales del IUNA. Además se desempeña como Psicólogo Clínico y como consultor/desarrollador para distintos estudios, institutos y museos.