Assignment 1 -- Due 2/14/08

Jonathan Hall


Problem 1:

Investigate the effects of different render modes.


Model
Vertices \ Resolution
128x128
256x256
512x512
1024x1024

Buddha
Buddha
50,000
179 fps
1360 fps
247 fps
1390 fps
179 fps
1360 fps
247 fps
1390 fps
179 fps
1008 fps
247 fps
934 fps
179 fps
368 fps
247 fps
377 fps
Immediate
Display List
Vertex Array
VBO
250,000
39 fps
793 fps
56 fps
524 fps
39 fps
720 fps
56 fps
502 fps
39 fps
512 fps
56 fps
400 fps
39 fps
270 fps
56 fps
238 fps
Immediate
Display List
Vertex Array
VBO
1,087,000
8 fps
213 fps
13 fps
123 fps
8 fps
207 fps
13 fps
122 fps
8 fps
184 fps
13 fps
116 fps
8 fps
139 fps
13 fps
97 fps
Immediate
Display List
Vertex Array
VBO
Dragon
Dragon
10,000
570 fps
1400 fps
704 fps
1380 fps
570 fps
1400 fps
704 fps
1380 fps
570 fps
1240 fps
704 fps
1230 fps
440 fps
440 fps
440 fps
440 fps
Immediate
Display List
Vertex Array
VBO
250,000
39 fps
752 fps
56 fps
522 fps
39 fps
646 fps
56 fps
482 fps
39 fps
451 fps
56 fps
363 fps
39 fps
247 fps
56 fps
223 fps
Immediate
Display List
Vertex Array
VBO
871,000
10 fps
254 fps
17 fps
154 fps
10 fps
238 fps
17 fps
151 fps
10 fps
205 fps
17 fps
140 fps
10 fps
143 fps
17 fps
112 fps
Immediate
Display List
Vertex Array
VBO
Yeah Right
Yeah Right
?
12 fps
508 fps
19 fps
177 fps
12 fps
491 fps
19 fps
175 fps
12 fps
435 fps
19 fps
168 fps
12 fps
298 fps
19 fps
144 fps
Immediate
Display List
Vertex Array
VBO

(Click pictures for full view)

For the most part we see that Display Lists and VBOs are much faster than Immediate mode and Vertex Arrays.  A notable exception is the 10k dragon at 1024x1024; in which, all modes have the same frame rate. Such an occurrence suggests that the CPU is not bounding fps, but only the fill rate is. Another interesting thing is that in all cases, save the previously mentioned, Immediate mode and Vertex Arrays are invariant to the window size.  This means that those modes must be bound by geometry traveling over the bus.

With Display Lists as well as VBOs we see that they very over both the window size and the number of triangles. However, this is a complex relation. In the 128x128 case increasing the model complexity has a proportional effect on the fps. Perhaps this is because it is geometry bound there. At other resolutions this does not hold. Most likely there is a mix in being geometry bound and fill bound. The large models weighing toward geometry bound and the high resolution samples toward being fill rate bound.


Problem 2:

Enable Blending

Blended Out of Order

This was my first attempt. notice the bands along the outer edge of the sphere and the lack of Australia. This is due to the sphere not being drawn back to front. The back side is never drawn because the front side is in the depth buffer. Turning the Depth Test off will cause Australia to appear above S. America, so is not a solution.

The See Through World    Buddha was thursty

Here I have fixed the problem by drawing the back side first then the front using culling. However, this only works if the object is convex (like our sphere). Displayed are two texture modes: Decal and Replace.

(Click pictures for full view)