Representació Realista d'Alta Velocitat

Esteu aquí

Crèdits
6
Tipus
Obligatòria d'especialitat (Gràfics i Realitat Virtual)
Requisits
Aquesta assignatura no té requisits, però té capacitats prèvies
Departament
CS
L'objectiu d'aquest curs és presentar diverses tècniques i algorismes de representació realista. Al llarg del recorregut visitarem alguns conceptes com ara ombres, oclusió ambient, etc., i introduirem com aconseguir aquests efectes usant GPU.

Professorat

Responsable

  • Pere Pau Vázquez Alcocer ( )

Altres

  • Imanol Muñoz Pandiella ( )

Hores setmanals

Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0.5
Aprenentatge autònom
8.3

Competències

Competències Tècniques de cada especialitat

Gràfics i realitat virtual

  • CEE1.1 - Capacitat de comprendre i saber aplicar les tecnologies actuals i les que en el futur es facin servir per al disseny i avaluació d'aplicacions gràfiques interactives en tres dimensions, tant quan prevalgui la qualitat d'imatge com quan ho faci la interactivitat o la velocitat, així com comprendre els compromisos inherents i les raons que els ocasionen.
  • CEE1.2 - Capacitat de comprendre i saber aplicar les tecnologies actuals i les que en el futur es facin servir per a l'avaluació, implementació i explotació d'entorns de realitat virtual i/o augmentada, i d'interfícies d'usuari 3D basades en dispositius d'interacció natural.
  • CEE1.3 - Capacitat d'integrar les tecnologies esmentades en les competències CEE1.1 i CEE1.2 amb altres tecnologies de tractament digital de la informació per construir noves aplicacions; així com efectuar contribucions significatives en equips multidisciplinaris que facin servir la informàtica gràfica.

Computació avançada

  • CEE3.1 - Capacitat per a identificar barreres computacionals i analitzar la complexitat de problemes computacionals en diversos àmbits de la ciència i la tecnologia; així com per representar problemes d'alta complexitat en estructures matemàtiques que puguin ser tractades eficientment amb esquemes algorítmics.

Competències Tècniques Generals

Genèriques

  • CG1 - Capacitat per aplicar el mètode científic en l'estudi i anàlisi de fenòmens i sistemes en qualsevol àmbit de la Informàtica, així com en la concepció, disseny i implantació de solucions informàtiques innovadores i originals.
  • CG3 - Capacitat per al modelatge matemàtic, càlcul i disseny experimental en centres tecnològics i d'enginyeria d'empresa, particularment en tasques de recerca i innovació en tots els àmbits de la Informàtica.

Competències Transversals

ús solvent dels recursos d'informació

  • CTR4 - Gestionar l'adquisició, l'estructuració, l'anàlisi i la visualització de dades i d'informació de l'àmbit de l'enginyeria informàtica, i valorar de forma crítica els resultats d'aquesta gestió.

Actitud adequada davant el treball

  • CTR5 - Tenir motivació per a la realització professional i per a afrontar nous reptes, tenir una visió àmplia de les possibilitats de la carrera professional en l'àmbit de l'enginyeria en informàtica. Sentir-se motivat per la qualitat i la millora contínua, i actuar amb rigor en el desenvolupament professional. Capacitat d'adaptació als canvis organitzatius o tecnològics. Capacitat de treballar en situacions de carència d'informació i/o amb restriccions temporals i/o de recursos.

Bàsiques

  • CB6 - Que els estudiants sàpiguen aplicar els coneixements adquirits y la seva capacitat de resolució de problemes en entorns nous o poc coneguts dins de contexts més amplis (o multidisciplinaris) relacionats amb la seva àrea d'estudi.
  • CB7 - Que els estudiants siguin capaços d'integrar coneixements i enfrontar-se a la complexitat de formular judicis a partir d'una informació que, essent incomplerta o limitada, inclogui reflexions sobre les responsabilitats socials i ètiques vinculades a l'aplicació dels seus coneixements i judicis.

Objectius

  1. Conèixer el maquinari gràfic actual i l'evolució dels paradigmes de programació de GPUs.
    Competències relacionades: CEE1.1, CEE1.2, CEE1.3, CB6,
    Subcompetences:
    • Aprendre l'arquitectura de les GPUs programables.
    • Conèixer els diferents llenguatges de desenvolupament d'aplicacions per a GPUs.
  2. Conèixer la problemàtica i les limitacions del desenvolupament d'aplicacions gràfiques en temps real.
    Competències relacionades: CEE1.1, CEE1.2, CEE1.3, CEE3.1,
    Subcompetences:
    • Entendre els fluxes de dades a les GPUs.
    • Conèixer les diferents etapes del pipeline programable.
    • Aprendre a utilitzar el pipeline gràfic per a fer càlculs generals.
  3. Aprendre a desenvolupar aplicacions gràfiques en GPUs.
    Competències relacionades: CG1, CG3, CTR4,
    Subcompetences:
    • Aprendre a programar en GLSL. Especificació del llenguatge i la integració amb OpenGL.
  4. Aprendre els algoritmes de generació d'ombres avançats més utilitzats en l'actualitat.
    Competències relacionades: CB7, CTR4, CTR5,
    Subcompetences:
    • Aprendre algoritmes de generació d'ombres dures, generació de penombres i oclusió ambient.
    • Implementacions d'algoritmes d'ombres en la GPU.
  5. Aprendre tècniques per l'acceleració del pintat tractant la geometria de l'escena.
    Competències relacionades: CEE1.2, CTR4, CTR5,
    Subcompetences:
    • Càlcul de visibilitat. Reordenació de primitives. Batches.
  6. Aprendre algoritmes de visualització basats en imatges.
    Competències relacionades: CEE1.1, CG3, CEE1.2, CEE1.3, CEE3.1,
    Subcompetences:
    • Light Fields. Layered Depth Images. Relief Impostors.

Continguts

  1. Introducció al maquinari gràfic.
    L'objectiu d'aquest apartat és donar a conèixer el programari gràfic així com la seva evolució en els darrers anys. Es presentarà el pipeline fixe i el pipeline programable d'OpenGL, analitzant el fluxe de la informació i les fonts de dades disponibles. També s'introduiran els algoritmes de computació genèrica accelerats per la GPU.
  2. Introducció als llenguatges de programació de GPUs.
    En aquest apartat parlarem de Cg i GLSL, així com també s'introduirà CUDA i OpenCL. S'aprofundirà sobretot en GLSL i els diferents elements de la programació: tipus, estructures de dades, estructures de control, definició de subprogrames i llibreries.
  3. Processament de geometria a la GPU.
    La visualització realista en temps real precisa d'acceleració del procés de pintat des del punt de vista de la geometria i la il·luminació. Com que les escenes d'avui en dia són molt complexes, calen algoritmes per a processar-les de forma eficient. En aquest apartat es parlarà del processament de geometria utilitzant diferents aspectes de les GPUs, com poden ser el càlcul de visibilitat, la reordenació de primitives i l'agrupament de primitives.
  4. Generació d'ombres.
    Un element molt important en la percepció del realisme d'una escena és la visualització d'ombres. Al llarg del temps, els algoritmes de visualització d'ombres s'han anat perfeccionant, passant d'ombres "dures" a penombres, fins a la generació del que s'anomena il·luminació ambient. En aquest apartat repassarem l'evolució i parlarem dels diferents mètodes de generació d'ombres utilitzant la GPU.
  5. Acceleració del pintat utilitzant imatges.
    Amb l'aparició de les textures a la GPU, hi ha hagut moltes millores en el pintat realista que intenten aprofitar aquest element per a millorar el resultat. Inicialment, només per a substituir color, més endavant, per a simular detalls de geometria, i després, per a desar geometria i precàlculs d'il·luminació. En aquest apartat repassarem com es poden utilitzar textures per a simular diferents efectes que van des del bump-mapping fins a l'emmagatzemament de la geometria completa d'un objecte o molts a memòria de textura utilitzant impostors.

Activitats

Activitat Acte avaluatiu


Lectures

Material will be presented in lectures along the term. You are expected to conduct complementary readings that will be assigned on occasion, to be presented at a later date.
  • Teoria: Classes de teoria
Objectius: 1 2 3
Continguts:
Teoria
30h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
43.6h

Implementation of the practical assignments.

Some assignments will be proposed and the students must develop them, partially during the lab sessions.
  • Laboratori: Implementació d'aplicacions en GLSL.
  • Aprenentatge autònom: Implementació d'aplicacions en GLSL.
Objectius: 1 2 3
Continguts:
Teoria
0h
Problemes
0h
Laboratori
12h
Aprenentatge dirigit
0h
Aprenentatge autònom
36h

Presentació d'articles

Els treballs seran assignats als estudiants i seran presentats i discutits pels alumnes.
Objectius: 2 3 5
Continguts:
Teoria
0h
Problemes
6h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
20h

Final exam

At the end of the term you will have a final exam, which may be a take-home.
Objectius: 1 2 4 3 5 6
Setmana: 18
Tipus: examen final
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Metodologia docent

Per a la realització de l'assignatura el professor proporcionarà continguts teòrics en classes de teoria, i materials en forma d'articles o manuals que els alumnes han de llegir i en alguns casos presentar.
Durant les classes de teoria s'introduiran els conceptes més rellevants i es donaran directrius per a l'elaboració de les presentacions dels articles.
Durant les classes de laboratori es faran tres activitats: desenvolupar petits exercicis de GLSL, implementar un petit projecte a presentar al final del curs i fer presentacions d'articles de la literatura.

Mètode d'avaluació

El mètode d'avaluació tindrà tres parts: La presentació dels articles i assistència a classe, el desenvolupament del projecte i un examen final.
La presentació dels articles i assistència a classe serà una nota (PRES) que dependrà de l'assistència a classe i la participació, del rigor i qualitat de la presentació de l'article que li toqui a l'estudiant, així com la capacitat de respondre a les preguntes dels alumnes i/o el professor sobre l'article. També es valorarà les preguntes que l'alumne realitzi en les presentacions dels altres alumnes.
El pes d'aquesta part (PRES) serà del 30% de la nota final.
L'altra part de l'avaluació (40%) se la durà el projecte de programació (PROJ).
L'examen final (EF), que pot ser realitzat a casa, tindrà un pes del 30%.
La nota final serà doncs:
NF = PRES * 0.3 + PROJ * 0.4 + EF * 0.30

Bibliografia

Bàsica:

Complementaria:

Web links

Capacitats prèvies

S'espera que els alumnes coneguin OpenGL i hagin cursat alguna assignatura de gràfics abans de fer aquesta assignatura. En particular, els alumnes necessiten conèixer com a mínim, com implementar programes en OpenGL amb vertex shaders, fragment shaders i eventualment geometry shaders. S'espera que sàpiguen enviar geometria a pintar i que siguin capaços d'emprar altres funcionalitats com la texturació.