Tema 11. Animación
Abstract
Introducción a la animación por computador, uso de shaders, control de eventos de tiempo y sistemas de partículas.
Full text
Introducci´on Shaders Eventos de tiempo Sistemas de Part´ıculas Tema 11: Animaci´on J. Ribelles SIE020: S´ıntesis de Imagen y Animaci´on Institute of New Imaging Technologies, Universitat Jaume I J.Ribelles Tema 11: Animaci´on
Introducci´on Shaders Eventos de tiempo Sistemas de Part´ıculas Contenido 1Introducci´on 2Shaders 3Eventos de tiempo 4Sistemas de Part´ıculas J.Ribelles Tema 11: Animaci´on
Introducci´on Shaders Eventos de tiempo Sistemas de Part´ıculas Introducci´on Introducci´on Vamos a tratar la animaci´on como el proceso de modificar los atributos de los elementos que componen la escena. Resulta muy simple realizar animaci´on utilizando Shaders. La librer´ıa FreeLGUT puede generar eventos de tiempo que nos ayuden a temporizar la animaci´on. Los sistemas de part´ıculas, modelado y animaci´on unidos. J.Ribelles Tema 11: Animaci´on
Introducci´on Shaders Eventos de tiempo Sistemas de Part´ıculas Shaders Descripci´on S´olo necesitamos una variable uniforme que vaya cambiando a lo largo del tiempo. La aplicaci´on ser´a quien la actualice. Ejemplos: Modificar el valor alfa que controla la opacidad. Modificar las coordenadas de textura. Modificar par´ametros de las fuentes de luz. Modificar la matriz de transformaci´on del modelo. J.Ribelles Tema 11: Animaci´on
Introducci´on Shaders Eventos de tiempo Sistemas de Part´ıculas Modificar la geometr´ıa uniform sampler2D ruido ; uniform f l o a t tiempo , S1 , S2 ; i n vec 4 p o s i c i o n ; i n vec 2 coordTextura ; v o i d main ( ) { ... vec3 v a l o r = vec3( t e x t u r e ( rui do , ( coor dTex tura∗S1 )+tiempo ) )∗S2 ; vec3 n ue va Po si cio n = p o s i c i o n . xyz + v a l o r ; ... } J.Ribelles Tema 11: Animaci´on
Introducci´on Shaders Eventos de tiempo Sistemas de Part´ıculas Eventos de tiempo Descripci´on La funci´on de la FreeGLUT es la siguiente: void glutTimerFunc(unsigned int msegs, void (*funcion)(int val), val); El primer valor indica el n´umero de milisegundos que han de transcurrir para que se llame a la funci´on de callback especificada como segundo par´ametro. Si se desea que la funci´on de callback se ejecute otra vez al cabo de un nuevo periodo de tiempo, ella misma puede establecerlo llamando a la funci´on glutTimerFunc antes de finalizar. Se permite especificar varias funciones de callback de manera simult´anea. J.Ribelles Tema 11: Animaci´on
Introducci´on Shaders Eventos de tiempo Sistemas de Part´ıculas Sistemas de Part´ıculas Descripci´on T´ecnica de modelado para objetos que no tienen una frontera bien definida como, por ejemplo, humo, fuego o un spray. Estos objetos son din´amicos y se representan mediante una nube de part´ıculas que, en lugar de definir una superficie, definen un volumen. Cada part´ıcula nace, vive y muere de manera independiente. En su periodo de vida, una part´ıcula cambia de posici´on y de aspecto. Durante la ejecuci´on de un sistema de part´ıculas, cada part´ıcula se debe actualizar a partir de sus atributos y de un valor de tiempo global. J.Ribelles Tema 11: Animaci´on