ÚNICA CONVOCATORIA de defensa y presentación de los trabajos de investigación: 30 de Mayo a las 16h

|
Información |
Normativa |
Temario |
Materiales |
Blog |
|
Enunciados |
||||
|
Guía docente |
||||
|
|
|
|||
|
|
|
|
||
|
|
|
|
|
RESUMEN:
- Asignatura: Troncal
- Nº de créditos: 6
- 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: 103 Laboratorios I
- Conocimientos recomendados: haber cursado Gráficos 3D, Realidad Virtual e Interacción , y tener nociones de C y OpenGL .
- Blog de la asignatura (Noticias): Zest for Graphics
- Web: http://www.dac.escet.urjc.es/rvmaster/asignaturas/PGATR/
- Calendario: Google Calendar
- Guía docente: enlace
PRESENTACIÓN:
Los procesadores gráficos modernos, que podemos encontrar en las tarjetas gráficas para PC y en las consolas, tienen arquitecturas muy sofisticadas que explotan las ideas de paralelismo de una forma innovadora y poco convencional. Con múltiples procesadores especializados y un extraordinario ancho de banda son capaces de mantener velocidades de cálculo sostenidas al menos un orden de magnitud por encima de las CPUs más avanzadas. Las prestaciones y funcionalidad de las GPUs crecen a un ritmo superior al marcado por el incremento de la densidad de integración de la ley de Moore.
Aunque su aplicación principal es la representación tridimensional de escenas en tiempo real y este incremento les ayuda a dar vida a entornos cada vez más realistas y complejos, sus capacidades los hacen muy atractivos en otros campos como potentes coprocesadores de bajo coste (cálculo científico, imagen médica, visión artificial…).
Para poder obtener el mejor rendimiento en nuestras aplicaciones (gráficas) es necesario conocer en cierto detalle la arquitectura de las plataformas en las que se vayan a ejecutar. Los profesionales más valorados (en parte por su escasez) son aquellos que saben conjugar la facilidad de análisis y desarrollo con el buen uso de los recursos, ya que esta suele ser la llave para un producto de éxito.
En esta asignatura se estudiará la arquitectura de los chips gráficos y el resto de elementos de la tarjeta gráfica, su evolución como cauce clásico y las nuevas tendencias en la arquitectura unificada. El planteamiento es eminentemente práctico, por lo que las clases teóricas, en las que se explicarán los fundamentos hardware que sirven de pilares a esta tecnología, se complementan con multitud de ejercicios prácticos en el laboratorio, en los que se ilustrará cómo se programan estos chips para sacar partido de toda su capacidad potencial.
Además, los alumnos tendrán la oportunidad de poner en práctica sus conocimientos y adquirir un primer contacto en el campo de la investigación mediante la realización de un proyecto aplicados con un fuerte carácter en arquitectura.
El mundo de tarjetas gráficas está en constante cambio y evolución, por ello en la asignatura se pretende dar una visión práctica, además de estimular el espíritu crítico de los alumnos, que tendrán que seguir al día en estos tema durante su carrera profesional.
Se ha procurado que el material y su presentación sean adecuados para personas con una procedencia multidisciplinar, si bien el nivel exigido corresponde a una asignatura de postgrado de Informática que sigue el planteamiento del EEES.
Se recomienda haber cursado Gráficos 3D y Realidad Virtual e Interacción, así como tener soltura en lenguaje C, OpenGL y matemáticas básicas (Álgebra Lineal…).
- Oscar David Robles Sánchez
- Despacho: 0049 (planta baja) Extensión del Rectorado
- Dirección de contacto: oscardavid.robles |arroba| urjc.es
- Horario de tutorias: M (10h-13h) X (16h-19h) Recomendable cita previa
- David Miraut Andrés
- Despacho: 2011A (segunda planta) Extensión del Rectorado
- Dirección de contacto: david.miraut |arroba| urjc.es
- Horario de tutorias: X (18h-20h) V (10h-12h previa cita)
En la primera parte de la asignatura se profundizará en la implementación hardware del cauce gráfico clásico y en su programación desde el punto de vista gráfico.
En la segunda parte de la asignatura se aprenderá a reestructurar el diseño de los algoritmos y aplicaciones para que aprovechen las ventajas de los multiprocesadores. Veremos las causas que han dado origen a la arquitectura unificada y se estudiara a muy bajo nivel para poder explotar su potencial en aplicaciones GPGPU.
En la tercera parte de la asignatura se estudiará cómo los sistemas gráficos pueden conformar sistemas más complejos: centros de supercomputación y granjas de render, con un coste y prestaciones muy competitivos.
Para completar la asignatura, los alumnos deberán realizar un proyecto de carácter aplicado en los que pongan en práctica lo aprendido de estas arquitecturas.
- 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 bastante avanzados y sólo una pequeña fracción de lo explicado en clase se recoge en las transparencias.
-
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.
-
El laboratorio estará abierto y accesible en las horas de tutoria grupal para que todos los alumnos puedan trabajar y preguntar dudas
-
Los monitores de laboratorio tendrán acceso a las instalaciones y enunciados de forma preferente, a cambio de ayudar un poco a sus compañeros durante los periodos en los que esté abierto el laboratorio.
-
- Contenidos del examen
-
En el examen se evaluarán lo explicado en clase de forma teórica, los conocimientos adquiridos en la realización de los ejercicios prácticos, así como lo aprendido a través de las actividades opcionales (lecturas, videos y ejercicios complementarios)
-
El conjunto de ejercicios prácticos se irá anunciando a medida que avance la asignatura en el segundo cuatrimestre. La tutoría grupal tendrá lugar en el laboratorio 108 del Aulario I el día y a la hora que se indique al comenzar las clases.
El listado siguiente se detalla sólo a título orientativo (los ejercicios pueden cambiar en función del ritmo de la clase y sus intereses):
- Ejercicio 0: Describe un aplicación paralela [Enunciado] Tipo: Obligatorio.
- Ejercicio 0.5: Lectura del manual de nVIDIA de Cg 2.0
- Esta práctica implica sólo la lectura del manual, por lo que no tendrá lugar en el laboratorioLectura del capítulo ”Introduction to Cg language” y “Cg Standard Library Functions” del CgToolkit User’s Manual de nVIDIA, esto es, sólo las 42 primeras páginas del manual.
El manual es muy extenso, y el paquete de desarrollo de nVIDIA viene acompañado de una documentación muy detallada, pero para las prácticas iniciales es suficiente con leer estos dos capítulos.
- Ejercicio 1.1: Introducción a la programación gráfica de GPUs [Enunciado]
- Ejercicio 1.2: Programación clásica gráfica en las distintas etapas de la GPU [Enunciado]
- Ejercicio 1.3: Programación gráfica en la GPU: APIs y mapas de bultos [Enunciado] [Material adicional]
- Ejercicio 1.4: Programación GPGPU clásica: juego de la vida en GPU (Sólo para quienes cursen la asignatura completa) [Enunciado]
- Ejercicio 1.5: Análisis y medidas de rendimiento en la GPU mediante GPGPU (Sólo para quienes cursen la asignatura completa) [Enunciado]
- Ejercicio 1.6: Programación de shaders: CgFX, FX Composer y Shader debugger (Sólo para quienes cursen la asignatura completa) [Enunciado]
- Ejercicio 1.7: Testeo, debugging y profiling: OpenAutomate, gDebugger y PerfKit (Sólo para quienes cursen la asignatura completa) [Enunciado]
- Ejercicio 2.1: Hola Mundo: ¿Quién está ahí? en CUDA [PDF] [fuente] [transparencias de clase]
- Ejercicio 2.2: Suma de vectores en CUDA [PDF] [fuente]
- Ejercicio 2.3: Multiplicación naïve de matrices en CUDA [PDF] [fuente] [ matrices ] (resuelto en clase)
- Ejercicio 2.4: Operación de reducción de vectores en CUDA [PDF] [fuente]
- Ejercicio 2.5: Multiplicación de matrices mediante particionado (tiling) [PDF] [fuente]
- Ejercicio 2.6: Multiplicación optimizada de matrices densas en CUDA [PDF] [fuente][matrices] (resuelto en clase)
- Ejercicio 2.7: Uso de librerias en CUDA - multiplicaciones de matrices densas, sparse y proyección aleatoria [Enunciado] [Matrices]
- Ejercicio 2.8: Traducción de código de CUDA a OpenCL (Sólo para quienes cursen la asignatura completa) [Enunciado]
- Ejercicio 2.9: Computational Graphics - OptiX (Sólo para quienes cursen la asignatura completa) [Enunciado]
- Más ejercicios de CUDA y OpenCL por determinar
-
Cada grupo (pareja) tendrá que realizar un proyecto fuertemente relacionado con la arquitectura de los procesadores de las tarjetas gráficas
-
Este año se propone un proyecto genérico para todos los grupos, relacionado con métodos espectrales de reducción de dimensionalidad para hacer efectos gráficos en CUDA.
-
También es posible proponer otros proyectos que tengan una dificultad y relación con la asignatura equivalentes, tanto de carácter gráfico como de computación de altas prestaciones.
-
Para ello habrá de realizarse un anteproyecto especial
-
-
Para más detalles, véase la sección correspondiente en las transparencias de presentación de la asignatura
ANTEPROYECTO
El anteproyecto está concebido como una primera toma de contacto con el futuro proyecto de la asignatura, de manera que la curva de esfuerzo en su realización sea más suave y -sobretodo- que empecéis a trabajar en el tema elegido con suficiente margen para que os de tiempo.
Se propone un proyecto por defecto que está centrado en métodos espectrales de reducción de dimensionalidad para hacer efectos gráficos , pero es posible realizar un proyecto alternativo siempre que tenga suficiente relación con la asignatura (y, por tanto, con la arquitectura de procesadores gráficos).
Según la normativa que se expuso el primer día de clase, los proyectos y anteproyectos se pueden realizar por parejas, su evaluación tiene una contribución significativa en la nota final y son obligatorios.
De forma excepcional este curso no es necesario realizar y exponer el anteproyecto.
Plazo de entrega
Deadline: por determinar
Presentación del trabajo de investigación: por determinar
Anteproyecto "alternativo"
Dado que el planteamiento de esta asignatura da pie a que los alumnos sean creativos, es posible elegir y/o proponer un proyecto diferente al propuesto por defecto, siempre que tenga relación suficiente con las arquitecturas vistas en clase. En este segundo caso, el anteproyecto tiene una función especial además de la mencionada anteriormente: que los profesores os podamos orientar y establecer unos criterios mínimos y máximos de exigencia en la realización del proyecto (no sería la primera vez que un grupo trata de abordar un proyecto demasiado ambicioso)Ejemplos de posibles proyectos:
Lista con los proyectos propuestos [PDF]- OptiX
- Renderizado de Pelo
- Shaders de Geometría
- Cluster de GPUs en el laboratorio
- Efectos gráficos
- Traza de rayos en CUDA
- etc...
En cuanto a los posibles efectos gráficos podéis consultar en los libros de las series GPU Gems, shaderX... para sacar ideas.
Informe
En este caso el anteproyecto ha de presentarse como un informe en el que se indiquen claramente:- una introducción en la que nos expliqueís la motivación por la cual se ha elegido el tema y porqué lo veis interesante
- los problemas potenciales a los que os vais a enfrentar al escribir / modificar el código en la realización del proyecto
- cómo los habéis identificado
- el desglose de las tareas previstas a realizar
- las referencias que se han consultado
Plazo de entrega
Deadline: por determinarSi el anteproyecto alternativo entregado no cumple ciertos mínimos será necesario rehacerlo o bien presentar lo exigido en el anteproyecto por defecto.
TRANSPARENCIAS:
Parte obligatoria:
Primer bloque (introducción):
Tema 0: Presentación [PDF] (puede tener algunas erratas)
Tema I.1: Introducción a las Arquitecturas paralelas y Supercomputación [PDF]
Tema I.2: Maquinas con un sólo procesador:Jerarquía de memoria y técnicas de mejora de rendimiento. Caso de estudio: Multiplicación de matrices densas [PDF]
Tema I.3: Modelos de programación paralela [PDF]
Segundo bloque (cauce gráfico):
Tema II.1: Introducción a las tarjetas y procesadores gráficos [PDF] [video opcional]
Tema II.2: Memoria. Caso de estudio: Serie 6 de nVIDIA [ PDF ]
Tema II.3: Comunicaciones. Caso de estudio: Serie 7 de nVIDIA [PDF].
Tercer bloque (computación genérica):
Tema III.1: Origen e introducción a CUDA [PDF]
Tema III.2: La doble personalidad de la GPU: CUDA modelo de programación y jerarquía de memoria [PDF]
Tema III.3: Arquitectura a bajo nivel de los diseños Tesla [PDF1]
Tema III.4: Optimizaciones en CUDA y Máquina Virtual PTX [PDF]
Tema III.5: Técnicas algorítmicas avanzadas en CUDA + Fermi y Kepler [PDF (nueva versión)]
Tema III.6: Librerías de medio / alto nivel [ PDF ]
Parte opcional (sólo se ha de cursar si se elige realizar la asignatura completa):
Tema II.4: Análisis y rendimiento. [PDF]Tema III.7: OpenCL [PDF]
Tema III.8: OpenMP, MPI y clusters de GPUs con CUDA [PDF]
Tema III.9: Computational Graphics [PDF]
Tema III.10: Many-cores y arquitecturas CPU+GPU [PDF][PDF2]
-
Dos: uno a mitad y otro a final del cuatrimestre acerca de los contenidos de la parte teórica de la asignatura y los conceptos que se han debido reforzar a través de los ejercicios prácticos.
- Programming Massivelly Parallel Processors, David Kirk y Wen-Mei Hwu. Ed. Morgan Kaufmann
- CUDA by Example: An Introduction to General-Purpose GPU Programming, Jason Sanders y Edward Kandrot. Ed. Addison-Wesley Professional.
- CUDA Application Design and Development. Rob Farber. Ed. Morgan Kaufmann;
- Procesadores Gráficos. Manuel Ujaldón. Ciencia 3
- GPU Gems 1. Radima Fernando. Addison Wesley (versión online gratuita)
- GPU Gems 2. Matt Pharr. Addison Wesley (versión online gratuita)
- GPU Gems 3. Hubert Nguyen. Addison Wesley (versión online gratuita)
-
The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics. R. Fernando and M. Kilgard. Addison-Wesley, 2003
- Stream Processor Architecture Scott Rixner Springer
- OpenGL Shading Language (2nd Edition) Randi J. RostAddison-Wesley
-
Advanced Lighting and materials with Shaders Kelly Dempski y Emmanuel Viale Wordware Publising, Inc.
- Manuales de nVIDIA
- Real Time Rendering. Tomas Akenine-Möller. 2nd Edition. A.K. Peters
-
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.
-
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.
-
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.
Los detalles de la evaluación pueden consultarse en las transparencias de la presentación de la asignatura.
- Lectura tema 3: GPU Gems 2 capítulos 29 y 30
-
Lectura tema 4: GPU Gems 2 capítulo 33 y What Every Programmer Should Know About Memory
- Lectura tema 5: GPU Gems 2 capítulo 31
- Lectura tema 6: Prefetching in a cache texture Architecture
- Lectura tema 7: GPGPU Performace Tuning – An illustrated example
- Lectura tema 8: Manual de Programación de CUDA
- Siguientes lecturas por determinar
Las prácticas y proyectos de este curso de Procesadores Gráficos se basarán en OpenGL, la API gráfica de referencia en la industria, y los lenguaje C, Cg y CUDA. Aunque es posible realizar todo lo que se propone con otras librerías (como DirectX) no lo recomendamos por las siguientes razones:
- No tenemos a nuestra disposición software base en DirectX para hacerlas, con lo que tendrían que realizarse desde cero.
- No hay apenas proyectos de software libre con los que ilustrar los conceptos que deseamos resaltar en esta asignatura.
- Es un conjunto de librerías de muy alto nivel, bajar a la “comunicación con el HW” implica un dominio de DirectX que nos desenfocaría del auténtico objetivo de esta asignatura.
-DirectX se enseña en otras asignaturas (como Tecnologías de Juegos)
-Además de didáctico, OpenGL mola
Aquellos alumnos que no estén familiarizados con OpenGL deberían echar un vistazo a los tutoriales de producciones NeHE, en unas semanas –en función del nivel general de la clase- se hará una jornada de repaso de OpenGL a bajo nivel.
El nuevo entorno de programación de nVIDIA y las herramientas de soporte a CUDA pueden ser un interesante punto de partida para medidas de rendimiento (benchmarcks) y proyectos. Así como el sistema que propone ATI-AMD: Close To Metal (requiere registro) y OpenCL (AMD, nVIDIA, Intel)
Recursos específicos que vais a necesitar para realizar prácticas y proyectos:
1) Visual Studio C++
o La Universidad Rey Juan Carlos tiene un acuerdo con Microsoft por el que tenemos una licencia de Campus. También lo podéis descargar de forma gratuita desde Microsoft DreamSpark por estar matriculados en la URJC.
2) DirectX SDK
o Descarga la versión de Junio 2010
3) nVIDIA SDK
4) Cg Toolkit 3.0
o Descarga
o Manual de Cg (versión 1.5, un poco obsoleto, pero nos vale)
5) Cg Tutorial
o Libro y entorno sencillo de programación
6) CUDA 4.1
o No olvides descargar e instalar el driver de desarrollo
o Descarga el entorno y el propio sistema de desarrollo de CUDA
- El OpenGL Utility Toolkit: GLUT
Este conjunto de utilidades nos permite realizar tareas que conciernen al sistema operativo, y es necesario para los paquetes mencionados a continuación.
o Descarga la versión de Windows
· Ejemplos del libro Rojo de OpenGL (código en GLSL)
- BrookGPU
Brook para GPUs es un compilador y un sistema runtime para el lenguaje de programación de arquitecturas de streaming que está en beta abierta (y poco abandonado con la futura aparición de AMD Stream)
- GPUBench
GPUBench es un sistema de análisis y medida de prestaciones (benchmarking) orientado a los procesadores gráficos programables de las tarjetas gráficas, está particularmente enfocado a las áreas de mayor interés en GPGPU. Es un proyecto de código libre de la Universidad de Stanford.
- GfxBench
GfxBench es bastante más antiguo, de hecho fue el proyecto que más adelante daría lugar a GPUBench, y fue escrito por Ian Buck. Utiliza OpenGL y GLUT para medir la tasa de relleno y tasa de triángulos de un sisteam gráfico.
o GfxBench.zip (Windows)
o GfxBench.tar.gz (Unix / Linux)
- GLTrace and GLSim
o GLSim es una versión instrumentada de OpenGL. Fue escrita por Ian Buack y Kekoa Proudfoot para que los estudiantes de Stanford pudieran estudiar más profundamente el cauce gráfico en OpenGL.
o GLTrace es un paquete, de Kekoa Proudfoot que permite guardar y repasar trazas de llamadas a OpenGL.
o Página del proyecto desde la que se pueden descargar.
- Mesa
Otro punto inicial para los proyectos en los que se hagan modificaciones al cauce gráfico tradicional podría ser la librería Mesa, proyecto de software libre que lidera Brian Paul (de hecho es la implementación de OpenGL más antigua y asentada).
- Chromium
Chromium es un excelente entorno de trababjo para renderizado en clusters de estaciones de trabajo que puede server de inspiración para algunos proyectos.
- NVPerfHUD
Es una herramienta imprescindible (y gratuita) de nVIDIA, que ayuda a encontrar toda clase de cuellos de botella mediante una interfaz que se adapta sobre cualquiera aplicación Direct3D. Hace estadísticas y muestra gráficas para poder monitorizar el progreso y carga del sistema gráfico en tiempo real.
- GLEW (GL extension Wrangler)
· Es un buen recurso cuando utilizamos extensions de openGL en Windows
- Qsilver, a graphics hardware simulation framework
· Qsilver, fue publicado en un artículo de la conferencia Graphics Hardware de 2004 (SIGGRAPH), como propuesta de un “entorno de trabajo y simulación flexible para arquitecturas gráficas”.
o Para su descarga es necesario rellenar previamente el siguiente formulario.
- gDEBugger, an OpenGL debugger
gDEBugger es un debugger interactive para OpenGL, que te muestra todo tipo de detalles del estado de OpenGL, la pila de llamadas y la relación con el código fuente. Actualmente es grauito.
- glIntercept
· glIntercept vuelca todos los shaders que se mandan a la tarjeta gráfica en forma de ficheros de texto, así como la información de todas las texturas (en ficheros con un formato gráfico) y da y permite hacer una traza de las llamadas a OpenGL.
- Blog de la Asignatura
- CodePixel
- GameDev
- ShaderTech
- GamaSutra
- Explicación de la arquitectura de la GPU (en francés)
- Papers del SIGGRAPH
- Web de desarroladores de NVidia
- Web de desarrolladores de ATI-AMD
- Tom´s Hardware
- GPGPU
- Pouet
NOVEDADES
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


