Computergrafieken

Ga naar: navigatie, zoeken
DirkRoose.jpg

Samenvattingen

Klik hier om de samenvattingen te bekijken

Inleiding

Het practicum staat op 7 punten, het examen op 13. Tijdens het examen worden er geen vragen gesteld over het practicum. Het examen bestaat uit 4 vragen. Dutre stelt meestal dezelfde bijvragen aan verschillende mensen, dus zorg dat je deze ook kent!

Van Dutre's weblog

Ondanks alle databases die studenten bijhouden om na te gaan welke vragen nu uiteindelijk gesteld worden op de examens, halen deze blijkbaar niet veel uit. De laatste 2 jaar stel ik op elke sessie van het examen Computer Graphics de vraag om het XYZ kleurenmodel uit te leggen (of iets gelijkaardig: 'Wat is het chromaticiteitsdiagramma', 'Wat zijn color-matching functies'). Je zou denken dat dit langzaam aan bekend begint te worden, maar dat is alleszins toch niet te merken in de kwaliteit van de antwoorden. Een enkeling slaagt erin deze vraag correct te beantwoorden. Nu, het is best een moeilijk stuk, dat weet ik ook wel. Maar dat is precies de reden waarom ik het vraag op het examen. Misschien staat het slecht uitgelegd in het boek, of is mijn uitleg in de les totaal verwarrend. Maar waarom stelt er dan niemand een vraag over via TOLEDO? Het blijft voor mij een vreemde vaststelling ...

Ik vraag soms ook wel om bvb. een grafiek te maken van het chromaticiteitsdiagramma, of de color-matching functies. Volgens mij zijn enkele dingen noodzakelijk als je een grafiek tekent: Uiteraard is er de curve of functie zelf, die (liefst) een benaderende juiste vorm heeft; maar een grafiek heeft ook assen, en deze assen hebben grootheden! Op de vraag 'Kan je eens het verloop van ... of ... schetsen', tekenen de meeste studenten wel min of meer een curve die lijkt op het gevraagde, maar weinigen kunnen dan ook de assen juist benoemen. Dat lijkt me echter essentieel, dat je weet wat er geplot wordt vs. wat. Als je dat niet weet, wat voor zin heeft die grafiek dan? [1]

Examens

2014-09-01

  1. Bespreek de verschillende manieren om een polygon-mesh als datastructuur voor te stellen.
  2. Maak een vergelijking tussen de manier waarop perspectief berekend wordt in de rasterisatie-pipeline enerzijds en ray-tracing anderzijds. Bespreek duidelijk voor- en nadelen van beide methoden.
  3. Toon aan dat bij het opstellen van een kd-boom, wanneer men gebruik maakt van de surface-area-heuristic om het optimale splitsingsvlak te bepalen, men enkel de uiterste grenzen van de geometrische objecten moet weerhouden als mogelijke posities van het splitsingsvlak.
  4. Stel dat we volgende aanpak gebruiken in een ray-tracing algoritme voor het berekenen van schaduwen t.o.v. een enkele puntlichtbron: we berekenen een perspectiefbeeld van de scène, maar bekeken vanuit de locatie van de puntlichtbron. Dit beeld heeft een resolutie van r maal s "schaduw"pixels. Door elk van deze schaduwpixels schieten we een zichtstraal (die dus vertrekt vanaf de puntlichtbron), en i.p.v. de intensiteit te berekenen voor elke schaduwpixel, slaan we in elke schaduwpixel een identifier op die het eerste zichtbare object (bol, polygon,...) codeert. Dit beeld noemen we het schaduwbeeld. De rendering van het werkelijke beeld vanuit de échte camera volt het normale ray-tracing algoritme, maar voor het berekenen van de schaduwen gaan we nu anders te werk:
    • we genereren een klassieke schaduwstraal naar de lichtbron;
    • vervolgens bepalen we door welke schaduwpixel in het schaduwbeeld deze schaduwstraal passeert (dit zou kunnen gebeuren a.d.h.v. een perspectief-transformatie t.o.v. de lichtbron);
    • we intersecteren de schaduwstraal ENKEL met het object dat opgeslagen werd in de betreffende schaduwpixel;
    • de uitkomst van deze ene intersectietest bepaalt of we ons in de schaduw bevinden of niet.

Vergelijk dit algoritme met de klassieke aanpak van schaduwstralen (waarbij alle objecten geïntersecteerd worden). Welke afwijkingen, artefacten, e.d. kunnen zichtbaar zijn in het beeld? Wat is de invloed van de resolutie van het schaduwbeeld? Hoe zou je deze resolutie optimaal kiezen?

2014-01-21

  1. Wat is een scène-grafe? Op welke manier wordt best gebruik gemaakt van een scène-grafe bij rasterisatie enerzijds en ray-tracing anderzijds?
  2. Wat zijn environment maps (ook bekend als illumination maps, reflection maps, ...)
    • Hoe kunnen ze opgemeten en/of berekend worden?
    • Welke visuele effecten kunnen ermee berekend worden?
    • Welke 'fouten' worden er gemaakt door gebruik van environment maps?
  3. Toon aan dat bij het opstellen van een kd-boom, wanneer men gebruik maakt van de surface-area-heuristic om het optimale splitsingsvlak te kiezen, men enkel de uiterste grenzen van de geometrische objecten moet weerhouden als mogelijke posities van het splitsingsvlak.
  4. Men kan een perspectief-projectiematrix in 2D als volgt schrijven (projectie-asis in dit geval de X-as, camera in de oorsprong, d afstand tot projectievlak): Echter, de volgende matrix is ook een perspectief-projectiematrix in 2D:
    • Wat doet deze matrix precies? Wat is de betekenis van ?
    • Wat zouden de equivalente matrices zijn indien men een perspectiefprojectie wil uitvoeren met de Y-as als projectie-as?

2013-09-02

  1. Geef en bespreek de perspectief transformatiematrix. Welke keuzevrijheid heeft men om de perspectief transformatiematrix op te stellen?
  2. Wat is een scène grafe? Bespreek voor- en nadelen.
  3. Stel dat we een scène hebben die bestaat uit een enkele diffuse driehoek (vertices a, b en c) en een enkele puntlichtbron. We renderen de scène met een ray tracing algoritme op 2 verschillende manieren.
    1. De zichtstraal snijdt een punt x op de driehoek. We shaden punt x (en bijbehorende pixel) met het diffuus Lambert-belichtingsmodel.
    2. De lichtstraal snijdt een punt x op de driehoek. We berekenen eerst de diffuse shadingswaarden (Lambert belichtingsmodel) voor de vertices. Nadien bepalen we de shadingwaarden van a, b en c te interpoleren a.d.h.v. barycentrische coördinaten van x op de driehoek.

Leveren beide technieken een verschillend beeld op? Indien ja, wat is dan het maximale verschil in shading waarde voor een pixel tussen beide technieken?

  1. Stel dat je de volgende 3D scènes genereert die vervat liggen binnen de 'eenheids' kubus [-1,1]x[-1,1]x[-1,1].
    1. Een aantal N zeer kleine bollen met straal 0.01 waarvan de 3 coördinaten voor het middelpunt elk willekeurig uniform gekozen worden in het interval [-0.99; 0.99] zodat elke gegenereerde bol volledig vervat zit in de kubus.
    2. Een aantal N zeer kleine bollen met straal 0.01 waarbij de x- en y-coördinaat op dezelfde manier gekozen worden als hierbven, maar de z-coördinaat ofwel de waarde -0.99 ofwel 0.99 krijgt (voor elke bol 50% kans).

We willen deze scène nu renderen met een ray tracing algoritme. We gaan ervan uit dat de camera zodanig is opgesteld dat de volledige scène zichtbaar is in het beeld. Welk soort acceleratiestructuur zou het best aangewezen zijn voor deze scènes? Zou er een verschil in performantie kunnen zijn tussen scène a en b? Zou de keuze van acceleratiestructuur kunnen afhangen van het aantal bollen N?


2012-01-22 vm

  1. Men kan een perspectief-projectiematrix schrijven als

waarbij d de afstand is van het projectiecentrum tot het projectievlak. Echter: is ook een perspectief-projectiematrix. Wat doet deze matrix? Waarin verschilt hij van de 'normale' perspectiefmatrix? Wat is het effect van de parameter ? Hint: men kan deze matrix schrijven als een samenstelling van rotatiematrices en de eerst gegeven perspectief-projectiematrix.

  1. Bespreek de verschillende termen in het volledige Phong belichtingsmodel (difuus, highlights, attenuatie, ambient).
  1. Stel dat we een kd-boom willen opstellen als acceleratiestructuur voor ray tracing. Stel tevens dat er (na reeds enkele niveaus van de boom te hebben opgesteld) in een cel van de boom slechts 1 enkel geometrisch primitief aanwezig is (een bol, torus, polygon,...). Kan het nuttig zijn om deze cel toch nog te splitsen in 2 kleinere cellen, waarbij het geometrisch primitief dan in 1 deelcel aanwezig is, en de andere deelcel noodzakelijkerwijs leeg is? Van welke omstandigheden zou dit kunnen afhangen?
  1. Bespreek het XY-chromoticiteitsdiagramma ('hoefijzer'-diagramma). Op welke manier wordt dit opgesteld?

2011-01-24 vm

  1. Gegeven een scene met een driehoek die bepaald wordt door hoekpunten op coördinaten (1,0,0), (0,1,0) en (0,0,1). Geef de transformatiematrix wanneer achtereenvolgens een schalering in de x- en y-richting wordt uitgevoerd met een factor sqrt(2), een rotatie van 45 graden volgens de z-as en een verplaatsing volgens de richting (1,-1,1). Bereken ook de coördinaten van de getransformeerde hoekpunten. De camera bevindt zich op positie (5,0,0) en kijkt in de richting van de oorsprong. De up-vector loopt volgens de positieve y-as. Geef de cameratransformatie en bereken de getransformeerde hoekpunten.
  2. Wat is een environment map (ook wel illumination map of reflection map genoemd)? Welke visuele effecten zijn er met behulp van een environment map mogelijk?
  3. Wat is perspectief-correcte interpolatie?
  4. Gegeven een statische scene met een aantal objecten. We beschikken over twee spatiale versnellingsstructuren met mogelijk verschillende eigenschappen (structuur, opdeling in cellen, aantal objecten per cel, ...) om deze scene te ray tracen. Welke strategie gebruik je om te bepalen welke van beide versnellingsstructuren het beste is? Heeft de positie van de camera een invloed op deze strategie? Stel dat we een animatie van de scene willen maken. Heeft dit een effect op de keuze voor één van beide versnellingsstructuren? Speelt het een rol of het pad van de camera al dan niet op voorhand gekend is?

2010-01-25

  1. Vergelijk de snelheid van rasterizatie met die van ray-tracing. In welke situaties is het ene algoritme sneller dan het andere?
  2. Gegeven 4 kubussen, respectievelijk op locaties (2,4,0), (4,2,0), (4,6,0) en (6,4,0). Beschouw twee acceleratiestructuren, de eerste bestaat uit hierarchisch omhullende sferen: elke kubus wordt omhuld door een sfeer die zou nauw mogelijk aansluit bij elke kubus. Deze 4 sferen worden nog eens omhuld door één grote sfeer die ook zo nauw mogelijk aansluit. De andere structuur bestaat uit hierarchisch omhullende balken: de eerste 2 kubussen (die op (2,4,0) en (4,2,0)) worden omhuld door een balk, de laatste twee kubussen (die op (4,6,0) en (6,4,0)) ook en deze twee balken worden op hun beurt omhuld door één grote balk. Alle omhullende balken sluiten zo nauw mogelijk aan bij hun inhoud. (Hier werd ook een 2D tekening van gegeven).
    1. Welk van deze 2 structuren is het meest efficiente voor ray-tracing?
    2. Wat als je de camera van positie verandert, heeft dit een invloed op de structuur die je zou kiezen? (In de gegeven tekening worden de kubussen vanuit een camera bekeken die in de -z richting kijkt).
    3. Wat als er schaduwen worden toegevoegd, welke structuur is dan het meest efficient?
  3. Wat zijn color-matching functies? Hoe worden ze opgesteld?
  4. Hoe worden schaduwen op basis van shadow-maps gerenderd? Zijn er kwaliteitsverschillen met schaduwen zoals normaal berekend in een ray-tracer?

2010-01-18 (van VTK site)

  1. Perspectief transformatiematrix
  2. Scéne-graph + hoe wordt het bij rasterisatie en ray tracing gebruikt
  3. Bespreek verschillende manieren voor reflecties
  4. Gegeven een scene waarvan de shadingwaarden in alle vertices reeds berekend zijn. Je gaat deze op 2 verschillende manieren renderen. Ten eerste met een rasterizer waarbij je de waarden van de vertices met 2D barycentrische coordinaten interpoleert. Ten tweede met ray tracer waarbij je interpoleert met 3D barycentrische coordinaten. Levert dit hetzelfde beeld op? Indien niet, geef een schatting voor de maximale fout voor een pixel.

2009-01-23 en 01-26

  1. Leg het principe Surface Area Heuristic bij acceleratie-structuren in raytracing. Hoe kunnen we die gebruiken om zo optimaal mogelijke acceleratie-structuren te krijgen?
  2. Bespreek reflection mapping. Geef ook verschillen met reflecties in ray-tracing.
  3. Bespreek perspective transformation matrix. Leg ook het verschil uit tussen diepte en pseudo-diepte na transformatie.
  4. Welke voorwaarden moeten we nemen zodat rendering met rasterizer en met ray-tracer hetzelfde beeld geven qua shading? Neem aan dat er enkel directe belichting (geen reflectie, shadows...) is die door ray-tracer en rasterizer gebruikt kan worden. (Tip: Maak analyse van de manier waarop pixels hun finale kleur krijgen)

2008-06-17

  1. Bespreek shadow maps.
  2. Hoe plaatst men een reëel object in een virtuele scene?
  3. Leg scene grafe uit a.h.v. een rijdende fiets in computeranimatie
  4. Leg uit: Surface Area Heuristic

2008-06-14

  1. Bespreek environment maps
  2. Gouraud interpolatie in raytracer vs gouraud interpolatie in rasterizer. Is er verschil? Zo nee,waarom.
  3. Bespreek painter's algoritm
  4. Stel je rendert met een raytracer een object van 1000 polygons. Je voegt dan een tweede object toe van 1 000 000 polygons dat slechts in 0.01% van het gerenderde prentje zichtbaar is. Dit kan moeilijk zorgen voor een veel langere rekentijd toch. Bespreek.

2006-08-25

  1. Wat is het verschil tussen Gouraud en Phong interpolatie? Welke invloed hebben deze technieken op de pipeline van rasterizer?
  2. Leg XYZ colorspace uit
  3. Leg image based relighting uit
  4. Bespreek de tijdscomplexiteit van Ray-tracer en rasterizer in fucntie van aantal pixels (P) en aantal objecten (N). Welke invloed heeft een stijging van N op de rekentijd? En zijn er nog factoren die de rekentijd beinvloeden?

2006-06-16

Examen van CW

  1. Wat is globale belichting? In welke algoritmes wordt dit gebruikt?
  2. Wat is een binary space partitioning tree? In welke algoritmes gebruikt?
  3. Wat is een mip map? Wat is belang ervan in CG? Stel, we hebben een afbeelding van 512*512 pixels, we slaan 1 byte op per kleurkanaal, hoe groot is de mip map opslag dan?
  4. We willen identiek hetzelfde prentje renderen met een raytracer en een rasterizer. Wat zijn dan de voorwaardes voor de scene? Vertrek uit een vergelijking van raytracing en rasterising als renderingsalgoritmes, wat hun uiteindelijke kleurgeving per pixel betreft.

2006-06-15 vm & nm & 2006-06-23 vm

  1. Leg Phong uit
    • bijvraag: Komt dit overeen met de realiteit ? Hoe moet je een echt materiaal weergeven ? (m.b.v. BRDF)
    • bijvraag: Phong is toch ook zeer reken-intensief (cos^200), waarom gebruiken we dan geen andere modellen? -> Omdat het een eenvoudig model is.
  2. Leg XYZ colorspace uit
    • Bijvraag: Als je een raytracer schrijft, is het dan beter dit in RGB of in XYZ te doen?
  3. Wat is een light stage en welke toepassingen heeft het?
    • bijvraag:Wat als je maar twee foto's hebt genomen? Wat zie je dan? Kan je dan niet gewoon wat interpolleren?
  4. Geef de complexiteit van een RT met betrekking tot objecten, lichtbronnen en pixels. Welke invloed heeft spatial subdivision op de complexiteit?
    • bijvraag: En is er een verschil voor complexiteit tussen een uniform grid en een hierarchisch?

2006-06-14, 8u

  1. Wat is stochastische ray tracing?
  2. Wat zijn kleurmetameren? Wat is het belang ervan in computer graphics?
  3. Wat is texture mapping? Welke effectenn kan men met op texture-mapping gebaseerde algoritmes bereiken?
  4. Bij de creatie van een BSP boom wordt voor het vlak dat de (resterende) ruimte in 2 deelt, dikwijls een vlak genomen gedefinieerd door één van de aangewezige polygons in de ruimte. Nochtans is dit niet strikt noodzakelijk. Men kan om het even welk vlak gebruiken voor de subdivisie. Welke invloed zou dit hebben op de opstelling van de BSP boom, het algoritme om de BSP te doorlopen, en de efficiëntie van het doorlopen van de BSP boom?

--Thomas 14 jun 2006 15:07 (CEST)

Vragen

  • Bespreek de spatial subdivision en bounding volume versnellingstechnieken voor ray tracing. Hoe wordt de tijd, die nodig is voor het tracen van een straal, en in functie van het aantal geometrische primitieven in de scene, beinvloedt door deze versnellingstechnieken? (27/06/2005)
  • Leg het algemene principe uit van beeldgebaseerde herbelichting (image based relighting). (27/06/2005)
  • Wat is een scene-graph? Wat zijn de voordelen van dergelijke structuur? (27/06/2005)
  • Leg het stochastic ray tracing algoritme uit? Welke effecten kan men ermee verwezenlijken die niet mogelijk zijn met klassieke ray tracing? (27/06/2005)
  • Welke belichtingseffecten kunnen met het ray-tracing algoritme berekend worden, die moeilijk te verwezenlijken zijn in de rasterisatie aanpak. (13/06/2005)
  • Ray-tracing en rasterisatie hebben een fundamenteel verschillend opzet om een scène op het scherm te renderen. Bespreek kort deze beide aanpakken. En kan je in functie van het aantal pixels in het beeld en aantal geometrische primitieven in de scène, vergelijkingen maken tussen de rekentijden nodig voor het renderen van een beeld in beide algoritmen? Stel tevens voor beide algoritmen telkens een optimisatie voor om de rekentijd te reduceren. (13/06/2005)
  • Bespreek texture mapping. Wat zijn de voornaamste problemen die zich stellen bij ontwikkelen van texture mapping in rendering software? (13/06/2005)
  • Wat zijn color-matching-functies? Bespreek tevens XYZ-kleurenruimte. (13/06/2005)
  • vergelijk ray tracing en rasterizatie, vergelijk, voor- en nadelen (13/06/2005)
  • Bespreek het idee van de free-form light stage in Image Based Relighting(13/06/2005)
  • Geef commentaar op de volgende stelling: “Het stochastisch ray tracing algoritme is in staat om alle mogelijke belichtingseffecten te berekenen.” (Van toledo 30/05/2006)
  • Hoe worden schaduwen berekend in het stochastic ray tracing algoritme? (Van toledo 30/05/2006)
  • Wat is een light stage. Waarvoor kan dit gebruikt worden. (06)
  • Wat wordt er bedoeld met "Een polygoon rasterizen". En wat wordt er zoal geinterpoleerd tijdens het rasterizen. (06)
  • Wat is Phong shading en welke effecten kan men ermee verwezenlijken? (06)
  • Schets en bespreek de verschillende stappen van een traditionele graphics pipeline.

Interessante informatie