• Keine Ergebnisse gefunden

Exercise1(AccelerationDataStructures, 9Credits ) DueDate02.06.201511:59pmsrinivas@cs.uni-bremen.de AssignmentonAdvancedComputerGraphics-Sheet4

N/A
N/A
Protected

Academic year: 2021

Aktie "Exercise1(AccelerationDataStructures, 9Credits ) DueDate02.06.201511:59pmsrinivas@cs.uni-bremen.de AssignmentonAdvancedComputerGraphics-Sheet4"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. G. Zachmann A. Srinivas

University of Bremen School of Computer Science

CGVR Group May 19, 2015

Summer Semester 2015

Assignment on Advanced Computer Graphics - Sheet 4

Due Date 02. 06. 2015 11:59pm srinivas@cs.uni-bremen.de

Exercise 1 (Acceleration Data Structures, 9 Credits )

In this assignment you should implement one of the following data structures to accelerate your raytracer:

• Uniform grid (Prototype inUniformGrid.h/cpp)

• Kd-Tree (Prototype inKDTree.h/cpp)

• AABB-Tree (Prototype inAABBTree.h/cpp)

• Lightbuffer (Prototype inLightBuffer.h/cpp)

All acceleration data structures (ADS) are derived from the common base class Accelerator.

You have to implement the constructor, the destructor, and the intersect() function, respec- tively.

Inside the constructor, you have to construct the ADS. To do that, the scene will be passed to it in form of a SurfaceList object. The SurfaceList object contains a list with all geometric objects in the scene. An example in the constructor class shows how you can traverse the objects. Each geometric object has a functiongetAABB()that returns an axis aligned bounding box of the object.

Probably this feature will be helpful. But be careful with objects of infinite size like the plane.

Theintersect() function of the acceleration data structures is called for the whole scene instead of the currently used intersect() from the SurfaceList class. As expected, it should compute the first intersection between the input ray and the closest object. In order to get the intersection with the actual geometric object in your ads you can use the existingintersect()for the geometric objects.

Finally, the destructor should free potentially allocated memory.

If you want to activate your ADS, you can simply choose the respective ADS in the dialogue of the raytracer’s GUI.

1

Referenzen

ÄHNLICHE DOKUMENTE

states that the Australian languages agree with the Mundä family. I do not think that they are numerous or important

This work has been digitalized and published in 2013 by Verlag Zeitschrift für Naturforschung in cooperation with the Max Planck Society for the Advancement of Science under

ofthe institution of mut'a also existed in Iran.. Wilson,

For the binary liquid systems formic acid + acetic acid, formic acid + propionic acid, and acetic acid + propionic acid, we give the results of new calorimetric measurements of

Concerning engine types, we assume that the energy required for the propulsion of the mining and transport vessels is generated by the ship’s main engine

Effects of electrokinetic phenomena on bacterial deposition monitored by quartz crystal microbalance with dissipation

A broad comparison between Tables 2 and 3 suggests that the 44 studies taking the individual elements interaction approach provide far more mixed results with respect to any

Optimising the process design in paper recycling mills to prevent slime formation in their stock and water systems.. Background /