
Esta asignatura surge como continuación de las asignaturas Informática Gráfica y Arquitecturas para Gráficos y Multimedia, con el objetivo de profundizar en las técnicas actuales de programación gráfica.
En esta asignatura partimos de la descripción de modelos de iluminación locales en un intenso recorrido que nos lleva hasta las técnicas más avanzadas de iluminación global. Se hace especial hincapié en aprovechar las posibilidades que ofrecen el hardware especializado, las APIs más modernas y los algoritmos que nos ayudan a acelerar estas técnicas, para poder alcanzar un elevado grado de realismo sin alejarnos de las exigencias de las aplicaciones intercativas (tiempo real).
El planteamiento consta de sesiones teóricas en las que se introduce la teoría fundamental y de sesiones prácticas en las que los alumnos conjuntamente con los profesores abordan temas más avanzados y prácticas de programación.
Este curso, de nuevo, el temario y las prácticas se han renovado.
|
Información |
Normativa |
Temario |
Materiales |
Blog |
|
Audiencia |
Enunciados |
|||
|
|
|
|||
|
NOVEDADES |
|
|
Prácticas de años anteriores |
|
|
|
|
|
|
RESUMEN
- Asignatura: Obligatoria
- Nº de créditos: 5
- Cuatrimestre: Segundo
- Modalidad de Impartición: Presencial
- Departamento: DATCCCIA (Departamento de arquitectura y tecnología de computadores, ciencias de la computación e Inteligencia artificial)
- Aula: 201 Aulario III
- Conocimientos recomendados: haber cursado Informática Gráfica y Arquitecturas para Gráficos y Multimedia
- Blog de la asignatura (Noticias): Zest for Graphics
- Web: http://dac.escet.urjc.es/rvmaster/asignaturas/TAG3D
- Calendario: Google Calendar
- Guía docente de la asignatura: TAG3D
- David Miraut Andrés
- Despacho: 2011A Extensión del Rectorado
- Dirección de contacto: david.miraut |arroba| urjc.es
- Horario de tutorias: Martes (20h-21h), Jueves (19h-21h) Viernes (17h-19h previa cita)
- Despacho: 2011A Extensión del Rectorado
- Miguel Ángel Otaduy Tristán
- Despacho: 0052 Extensión del Rectorado
- Dirección de contacto: miguel.otaduy |arroba| urjc.es
- Horario de tutorias: Jueves (16:30h-18:30h); contactar por e-mail.
En la primera parte de la asignatura se profundizará en las técnicas avanzadas de generación de gráficos por computador analizando diversas técnicas que permiten aumentar el realismo de las escenas finales en tiempo real. Se abordará el mapeado de texturas, modelos avanzados de iluminación y sombreado y técnicas de generación de sombras, visibilidad, modelado basado en imagen...
En la segunda parte de la asignatura se tratarán técnicas más sofisticadas que nos permiten representar las escenas con mucho mayor realismo, son las llamadas técnicas de iluminación global: Traza de Rayos, Radiosidad, Transporte de Luz, MonteCarlo…
Los conceptos se reforzarán con la realización de prácticas y trabajos práctico
- Clases teóricas
- Las clases presenciales no son obligatorias, si bien se recomienda la asistencia encarecidamente, ya que los temas tratados en la asignatura son base para las siguientes asignaturas.
- Es posible asistir a las clases teóricas de la asignatura en calidad de lector aunque se haya convalidado o no se curse la asignatura siempre que se esté matriculado del Máster Oficial de Informática Gráfica, Juegos y Realidad Virtual ó se estén cursando asignaturas afines en los másteres que permiten doble y triple titulación con éste. También es posible visitar el laboratorio en el horario en el que se imparten la clases prácticas aunque sin hacer uso de los recursos del laboratorio.
- Aquellas charlas y conferencias que se consideren de gran interés podrán ser objeto de preguntas en el examen teórico y fuente de ideas para los proyectos. Como comprendemos que no todos los alumnos de la asignatura podrán asistir a las mismas, se habilitarán los recursos necesarios para registrarlas y que los alumnos las puedan ver de forma diferida cuando les sea más cómodo.
- Laboratorios
- No se guardarán las notas de prácticas de un año para otro.
- El criterio más importante es la funcionalidad: un programa que funciona siempre tiene más posibilidades de llevarse una buena puntuación; no se valorarán aquellos programas que no funcionen. Una práctica o proyecto modesto será evaluada mucho más favorablemente que un "proyecto" ambicioso que sólo da core-dumps. El siguientes criterios que se tendrán en cuenta (y que hay que cuidar al realizar las prácticas) son:
- La manera de resolver el problema con el programa
- Estructuras de datos y diseño de los algoritmos
- Claridad y documentación en el código
- Eficiencia y elegancia en la implementación.
- ¡Por favor, no hagáis trampas! Se procura alentar el diálogo y el trabajo en equipo, pero por favor trabajad de forma independiente (a menos que el trabajo sea en grupos). Trabajos muy similares serán considerados como copias, a menos que la naturaleza lo pedido sea tan restrictiva que justifique las similitudes. Y una copia implica el suspenso automático. Simplemente piénsalo de esta manera: hacer trampas dificulta el aprendizaje y la diversión de conseguir hacerlo.
Es vuestra responsabilidad proteger vuestro trabajo y aseguraros que no se convierte en el de otro.
-
- Si se utiliza (o mejora) código fuente u otro material obtenido a través de internet, la biblioteca... debe darse el crédito a los autores y pedir permiso de ser necesario (si tiene una licencia restrictiva). Tomar código de un libro o de internet sin tener en cuenta estas consideraciones será considerado copia.
- Está terminantemente prohibido la práctica de técnicas de overclocking en las tarjetas gráficas del laboratorio, así como desbloquear los procesadores de vértices y fragmentos de los chips gráficos. Este tipo de acciones pueden dañar físicamente el equipo del laboratorio y los alumnos responsables serán amonestados severamente.
La asignatura tendrá dos prácticas obligatorias y una opcional:
- Practica 0 (optativa): Mini-modelador 3D
Esta práctica está encarecidamente recomendada para aquellos alumnos que hayan convalidado la asignatura de Informática Gráfica y necesiten refrescar ciertos conceptos y OpenGL para llevar a acabo el resto de las prácticas.
Se proporciona un esqueleto en Java (lenguaje explicado en la asignatura de Programación del primer cuatrimestre) para facilitar su realización l
[paquete con todo el material][FAQ] - Práctica 1 (obligatoria): Montaña rusa [PDF]
Documento sobre splines Catmull-Rom [PDF]
Documento sobre movimientos de cámara sobre una trayectoria [PDF]
Codigo base:
- Parte 1 [código en C]
- Parte 2 [código en C] - Práctica 2 (obligatoria): Trazador de Rayos [PDF]
Código base para Windows (VS2005) y Linux [código en C]
- Tema 0: Presentación de la asignatura [PDF]
- Tema 1: Texturas [PDF parte1] [PDF parte2]
- Tema 2: Alpha blending, niebla y corrección gamma [PDF]
- Tema 3: Antialiasing (Muestreo y reconstrucción) [PDF]
- Tema 4: Sombras [PDF]
- Tema 5: Sombras avanzadas [PDF]
- Tema 6: Iluminación global y ecuación de Rendering [PDF]
- Tema 7: Estructuras de aceleración y técnicas de visibilidad [PDF] [PDF actualizado]
- Tema 8: Traza de rayos [PDF]
- Tema 9: Cachés de irradiancia y Mapeado de fotones [PDF]
- Tema 10: Medios participativos [PDF]
- Tema 11: Monte Carlo [PDF]
- Tema 12: Precomputed Radiance Transfer (provisional) [PDF]
- Tema 13: Modelado basado en imagen [PDF]
- Uno al final del cuatrimestre con los contenidos de la parte teórica de la asignatura.
TRABAJO DE INVESTIGACÓN Y EXPOSICIONES ORALES :
- Real Time Rendering. Tomas Akenine-Möller. 3rd Edition. A.K. Peters
- Physically Based Rendering: From Theory to implementation. Matt Phar & Greg Humphreys. Morgan Kauffman
- 3D computer graphics: a mathematical introduction with OpenGL Buss, S.R. Cambridge U. Press
- Interactive computer graphics: A top-down approach with OpenGL Angel, E. Addison Wesley
- GPU Gems, edited by Randima Fernando, GPU Gems 2, edited by Matthew Pharr, and GPU Gems 3, edited by Hubert Nguyen, Addison-Wesley, 2004, 2005, 2007. Fine edited collections of articles on interactive graphics in all-color books. These books were edited by NVIDIA employees, so there is a high level of NVIDIA participation. See the respective websites for the first, second, and third books for sample articles and more information.
- ShaderX6, ShaderX5, ShaderX4, and ShaderX3, (and out of print: ShaderX2: Introductions and Tutorials, ShaderX2: Tips and Tricks). edited by Wolfgang Engel et al. These books are also edited collections of articles dealing with new graphics techniques that use vertex and pixel shaders. Some are nuts and bolts practical, others are about new techniques in development. See the ShaderX6, ShaderX5, ShaderX4, ShaderX3, ShaderX2, and ShaderX websites for more information, samples, etc.
- Real-Time Collision Detection, by Christer Ericson, Morgan Kaufmann, 2004. A new book on collision detection techniques. Solid theory coupled with the author's own practical experience makes this book an excellent choice for practitioners in the field. In addition to describing a wide range of relevant algorithms, the author also discusses optimization, numerical precision, robustness, and other topics critical in creating a workable interactive system. See the author's web site for more information.
- Geometric Tools for Computer Graphics, by Philip Schneider and David Eberly, Morgan Kaufmann, 2002. An incredible volume focused on practical computational geometry. It includes a wide array of object/object intersection methods and other common algorithms. It also gives a solid grounding in much of the mathematics behind the methods. The book has a companion web site.
- 3D Game Engine Design: A Practical Approach to Real-Time Computer Graphics, by David Eberly, Morgan-Kaufmann, 2000. A book dealing with a wide variety of real-time related topics, with solid theory and code. Somewhat math intensive at times, but we prefer this to hand-waving. This book offers the author's way of implementing various algorithms; do not expect a survey of techniques, but rather in-depth coverage of a particular solution. Pure gold (though a little dated by now), and the related web site is a (inter)national treasure.
- Game Programming Gems, Game Programming Gems 2, and Game Programming Gems 3 by Mark DeLoura (Editor), Charles River Media, 2000, 2001, 2002. A wide range of Graphics Gems-like articles (with which it is not affiliated), it has many articles on subjects relevant to real-time rendering. There are tidbits on intersection calculations, collision detection, LOD and progressive meshes, texture mapping effects, sprite effects, shadows, vertex and pixel shader tricks, and much more. There is also material on modelling, skinning, and animation. About a quarter or more of each book is on artificial intelligence and other topics, so the focus is not entirely on computer graphics.
- Level of Detail for 3D Graphics, by David Luebke et al., July 2002. This book covers a wide range of topics in the area, by experts in the field. It discusses such aspects as mesh simplification, terrain rendering, and many algorithmic methods for accelerating image generation. The book has a companion web site.
- Advanced Animation and Rendering Techniques: Theory and Practice, Alan Watt and Mark Watt, Addison-Wesley, 1992. An excellent book about more advanced algorithms in computer graphics. Covers a wide range of topics with some depth, with good references to more information. Quite old at this point, and not at all a good book about interactive rendering, but it has a lot of information about the field otherwise.
- Graphics Gems series, Academic Press. Old, but with useful algorithms. A series of 5 books with a wide range of algorithms for all sorts of areas of computer graphics; visit the web site for a listing of articles and for the latest code.
- Jim Blinn's Corner: A Trip Down the Graphics Pipeline, by Jim Blinn, Morgan-Kaufmann, 1996. A collection of columns from IEEE Computer Graphics and Applications, these talk about all sorts of nitty gritty details and algorithms not covered in other texts. Admittedly, most people will not need to implement software rendering algorithms, but there are still useful tidbits here.
- Jim Blinn's Corner: Dirty Pixels, by Jim Blinn, Morgan-Kaufmann, 1998. A second collection of columns, in some ways more useful in this hardware accelerated world, as topics in pixel arithmetic and signal processing are covered.
Tema 2: Texturas
Pixel coordinates. Jim Blinn [PDF]
The truth about texture mapping. Jim Blinn [PDF]
What is a pixel. Jim Blinn [PDF]
Hyperbolic Interpolation [PDF]
Piramidal Parametrics. [PDF]
Tema 3: Corrección Gamma
A ghost in a snow storm. Jim Blinn [PDF]
Tema 4: Antialiasing
What we need around here is more Aliasing. Jim Blinn [PDF]
Return of the Jaggy. Jim Blinn [PDF]
Antialiasing. Seppo Äyräväinen [PDF]
Los detalles de la evaluación se detallarán el día de la presentación de la asignatura.
Nos interesa mucho la opinión de los alumnos de la asignatura.
- Podéis dejar vuestras sugerencias en esta página web del Blog de la asignatura