Star

Created With

linkConclusiones & Trabajo Futuro - Imaging & Video - Hardware

Al momento de estudiar el proceso de creación y manipulación de una imagen digital a una aplicación visual moderna, podemos encontrar muchas tecnica y efectos muy interesantes. Sin embargo, entender la teoria detras de las imagenes y videos es de suprema importancia.

linkAlgoritmos

linkZ-Buffer

Imagen dual mesas

Algoritmos como el z-buffer, o tambien llamado algoritmo de profundidad, creado por Edwin Catmull (expresidente de Pixar y Walt Disney Animation Studios, ganador del premio Turing) es de especial importancia cuando se trabaja sobre imagenes o video directamente por Hardware, y aunque está ampliamente extendido nos encontramos con algunas limitantes que es dificil ver cuando se realizan practicas a baja escala, con pocos datos, o con imagenes standar, como lo son por ejemplo:

La ventaja de este tipo de algoritmo es su eficiencia en procesar grandes cantidades de datos en periodos cortos de tiempo.

Por ejemplo, el tiempo de carga en el taller 1 de la imagen del Ascii, superaba los 5 segundos de procesamiento computacional hasta que finalmente se podían ver representasiones visuales en pantalla, con lo que la implementación por Hardware es practicamente instantaneo, lo que es cerca del 80% de incremento en velocidad de procesamiento y de rendering.

linkCoordenadas baricéntricas (n-simplex)

Varicentricas

El algoritmo de coordenadas baricentricas por otro lado, es bastante eficiente computacionalmente, de orden lineal a la cantidad de vertices, ya que al ingresar un poligoco, como lo es un triangulo, tendrá que procesar los 3 lados para hallar sus coordenadas, si el poligono tiene 5 lados, evaluará 5 veces la distancia y encontrará dichas coordenadas, y si el polígono tiene n lados, la complejdiad computacionar será lineal a n.

linkVertex shader

Vertex

Un sombreador de vértices es una función de procesamiento de gráficos que se utiliza para agregar efectos especiales a los objetos en un entorno 3D mediante la realización de operaciones matemáticas en los datos de los vértices de los objetos. Cada vértice puede definirse mediante muchas variables diferentes. Por ejemplo, un vértice siempre se define por su ubicación en un entorno 3D utilizando las coordenadas x, y y z. Los vértices también se pueden definir por colores, coordenadas. Los vértices también se pueden definir por colores, texturas y características de iluminación. Los Vertex Shaders en realidad no cambian el tipo de datos; simplemente cambian los valores de los datos, de modo que un vértice emerge con un color diferente, texturas diferentes o una posición diferente en el espacio.

linkFragment Shader

Vertex

Un Fragment Shader es la etapa de Shader que procesará un Fragmento generado por la Rasterización en un conjunto de colores y un único valor de profundidad , herramienta principal para el desarrollo del taller, en donde se pasan las imagenes y los shaders son capaces a una gran velocidad mapear los vertices y los canales de color para ser manipulados.

linkConclusiones

En esta seccion realizamos diferentes metodologias implementadas por Hardware, y tecnicas para obtener varios resultados muy interesantes, y gracias a esta experiencia pudimos encontrar ciertas conclusiones:

linkTrabajo Futuro

Las aplicaciones que se pueden obtener en los avances e investigaciones que se realizan hoy en dia usando las tecnicas usadas en esta seccion pueden ser variadas, pero aca mencionamos algunas:

Conclusiones & Trabajo Futuro - Imaging & Video - HardwareAlgoritmosZ-BufferCoordenadas baricéntricas (n-simplex)Vertex shaderFragment ShaderConclusionesTrabajo Futuro

Home

Workshopschevron_right
Imaging & Videochevron_right
Softwarechevron_right
Hardwarechevron_right
Renderingchevron_right

Algovis Computer Graphics HCI

P5 Code Snippetschevron_right
Memberschevron_right