Assignment #1 Images
Problem1

Problem2
| TEX_ENV_MODE
| alpha value
|
| 1
| 0.6
| 0.3
|
| GL_DECAL
|
|
|
|
| GL_REPLACE
|
|
|
|
| GL_MODULATE
|
|
|
|
| GL_BLEND
|
|
|
|
| GL_ADD
|
|
|
|
| GL_COMBINE
|
|
|
|
Problem1 Part C
|
| Immediate Mode
| Display List
| Vertex Array
|
| small dragon 128X128
| 5.15
| 62.5
| 5.18
|
| small dragon 256X256
| 5.05
| 62.5
| 5.03
|
| small dragon 512X512
| 5.15
| 62.5
| 5.18
|
| small dragon 1024X1024
| 5.15
| 62.5
| 5.15
|
| medium dragon 128X128
| 0.2
| 62.5
| 0.2
|
| medium dragon 256X256
| 0.2
| 62.5
| 0.2
|
| medium dragon 512X512
| 0.2
| 62.5
| 0.2
|
| medium dragon 1024X1024
| 0.2
| 62.5
| 0.2
|
| large dragon 128X128
| 0.04
| 15.15
| 0.04
|
| large dragon 256X256
| 0.04
| 15.15
| 0.04
|
| large dragon 512X512
| 0.04
| 15.15
| 0.04
|
| large dragon 1024X1024
| 0.04
| 15.16
| 0.04
|
| small buddha 128X128
| 1.01
| 62.5
| 1.01
|
| small buddha 256X256
| 1.01
| 62.5
| 1.02
|
| small buddha 512X512
| 0.97
| 62.5
| 0.98
|
| small buddha 1024X1024
| 0.97
| 62.5
| 0.98
|
| medium buddha 128X128
| 0.2
| 62.5
| 0.2
|
| medium buddha 256X256
| 0.2
| 62.5
| 0.2
|
| medium buddha 512X512
| 0.2
| 62.5
| 0.2
|
| medium buddha 1024X1024
| 0.2
| 62.5
| 0.2
|
| large buddha 128X128
| 0.03
| 12.20
| 0.04
|
| large buddha 256X256
| 0.04
| 12.05
| 0.04
|
| large buddha 512X512
| 0.03
| 12.20
| 0.04
|
| large buddha 1024X1024
| 0.03
| 12.20
| 0.04
|
| cube 128X128
| 62.5
| 62.5
| 62.5
|
| cube 256X256
| 62.5
| 62.5
| 62.5
|
| cube 512X512
| 62.5
| 62.5
| 62.5
|
| cube 1024X1024
| 62.5
| 62.5
| 62.5
|
Problem 1 Part D
It looks like the graphics card I used for this assignment never starts being fill limited, it is always geometry
limited during the rendering of this assignment. Each of the seven models, no matter how large they are, render at the same
framerate in windows varying from 128X128 to 1024X1024.
For models other than the cube, display lists runs fastest using this card. It's odd to find that both the immediate mode and
the vertex arrays mode are CPU bound. I think this might be due to the fact that I collected the data for the normal arrays
within each frame, instead of doing it once and for all in init() function. I'll try fix this.