Personal tools

Development of Graphical and Interactive Applications

From hpcwiki

Jump to: navigation, search

This seminar is intended to provide the foundations, programming and design skills and development tool basics for interactive and graphical applications in both PC and Mobile (Android) domains.

Contents

Seminar sessions

Módulo 1: Fundamentos de programación visual e interactiva

  1. Motivación (Espacio externo al seminario - Hugo, Giovanny, Nicolás)
  • Potencial de desarrollo y solución de problemas con requerimientos respectivos (videos atractivos, divulgativos) - Aprox. 45 min.
    1. Proyecto 1:
    2. Video:

        1. Proyecto 2
        2. Video:

            1. Proyecto 3
            2. Video:

                1. Proyecto 4:
                2. Video:

                  1. Desarrollo en Linux Fundamentos de desarrollo C y C++ (2 - Hugo, Darwin)
                    1. Contenido
                      1. Entorno de desarrollo (Eclipse?, XCode), conceptos básicos de compilación, orientación a objetos, uso de librerías. Introducción y talleres de uso de dispositivos de salida, GUI y loop de despliegue (render) orientado al desarrollo de aplicaciones gráficas. Instalación de marco de trabajo
                      2. ¿Qué es un entorno integrado de desarrollo (IDE)? Ejemplos de uso de un IDE en la creación de un proyecto.
                      3. ¿Qué es compilación? Ejemplo de compilación en línea de comandos y en el IDE.
                      4. ¿Qué es la programación orientada a objetos? Desarrollo de conceptos básicos apoyados en UML, e implementación de clase en C++, Compilación y ejecución sobre el IDE.
                      5. ¿Qué son los dispositivos de salida? Ejemplo y taller basado en OpenFrameworks aumentando la funcionalidad del código desarrollado en la parte anterior.
                      6. ¿Qué es el loop de despliegue (render)? Integración de este nuevo elemento haciendo uso de OpenGL e integrándolo con la clase desarrollada anteriormente.
                      7. ¿Qué es una GUI? Gestión de eventos (solo mencionar)
                      8. Material (enlace):
                      9. Fecha tentativa: 2° semana de octubre
                      10. Programación 3D (2): Representación computacional de la geometría - Biblioteca OpenFrameworks (1 sesión, Nicolás, Jorge)
                          • Contenido:

                        Representaciones implícitas (sólo referencia). Ejemplos: Metaballs Geometrías Fractales Representación explícita: Mallas de polígonos. Motivación para el uso de triángulos. Información por triángulo requerida para el pintado (vértices, normales, coordenadas de textura). Formatos STL y OBJ. Modelado de objetos 3D (métodos). Representación en OF: Clase ofMesh, creación y carga de objetos Caso de Estudio: Demo con objeto paramétrico. Fecha tentativa:

                        Material (enlace): Presentación sobre la sesión Documento tipo tutorial Enlaces de interés: Documentación OF: http://es.slideshare.net/roxlu/openframeworks-007-3d Ecuaciones paramétricas http://es.wikipedia.org/wiki/Ecuaci%C3%B3n_param%C3%A9trica http://en.wikipedia.org/wiki/Sphere http://en.wikipedia.org/wiki/Torus Representación implícita Metabolas http://en.wikipedia.org/wiki/Metaballs http://en.wikipedia.org/wiki/Marching_cubes Demoscene http://awards.scene.org/ http://iquilezles.org/www/articles/raymarchingdf/raymarchingdf.htm Caso de estudio: Fecha tentativa:

                        3. Transformaciones y configuración de la escena (Giovanny, Jorge) Contenido: Transformaciones Lineales Rotación Translación Escala Transformaciones de proyección Proyección Ortográfica Proyección de Perspectiva Uso de cámaras EasyCam de OpenFramework Pipeline de despliegue (render) Material (enlace):

                           http://openframeworks.cc/tutorials/graphics/opengl.html 
                        

                        Aplicación: Sistema solar (tierra, sol, luna) con cámaras en cada uno de los objetos Caso de estudio: Fecha tentativa:

                        4. Animación (Nicolás, Darwin) Contenido: Algunos tipos de animación: Animación basada en simulación Ejemplos (imágenes y videos?): Partículas, fluidos, dinámica, colisiones… https://www.youtube.com/watch?v=q1V5AB47JXw https://www.youtube.com/watch?v=YVYJUenZ2qQ Animación con keyframes Ejemplos: Animación para cine Animación usando libretos Splines (Comentarios sobre Hermite?) Splines en OF Cinemática Directa e Inversa. Skinning (sólo referencia) Caso de estudio: Material (enlace): Fecha tentativa:


                        5. Iluminación, sombras y modelado de materiales (Hugo, Giovanny) Contenido: Materiales Ambiente Difuso Especular Iluminación Global (sólo referencia) Ray Tracing Ambient occlusion Photon Mapping Luces Ambiente Especular Texture Shadow Mapping Caso de estudio: Material (enlace): Fecha tentativa:

                        1. Introducción al Desarrollo de Videojuegos (Pacho, Nicolás)
                          1. Contenido:
                          2. Material (enlace):
                          3. Fecha tentativa:

                          4. References

                            Access to source code

                            • OpenGL GUI Library & Documentation
                              • Widgets
                              • Event handlers
                            • HPC Library
                            • Testing applications