Dat Tien Nguyen
Office
201N MLH
The University of Iowa
Iowa City, IA 52242-1419
USA
Phone: 319-353-2547
Homework
22c:296 Seminar on Computer Science
First presentation
22c:296 Research Topics in HCI
Final presentation
Presentation 1: Paper
Presentation 2: Paper
22c:196 Security in Distributed Systems
Presentation Final project
Presentation
22c:251 Advanced Computer Graphics
Final Project week 2
Implement a faster BVH structure (about 15% faster)

Final Project week 1
Implement a faster triangle intersection routine discussed by Ingo Wald
After implementing (~7% more):

Before implementing:

Homework4
Instance Object

To deal with scaling objects, we can use two ways:
1) Scale the object while loading (by 450 for example), and apply the matrix with small scaling values for an instance object.
2) Load the original object without scaling, then apply the matrix with big scaling value
With each way, you have to play with EPSILON value to have a good result. These are what I did:
1) Scale the object while loading, EPSILON = 4e-4

2) Don't scale the object while loading, EPSILON = 1e-10 (quite similar results for 1e-9 or 1e-11)

So I think you should scale the object while loading, and you can easily find the appropriate value for EPSILON to have a good result.
Some more interesting pictures:


Homework3
Problem 1: RayPacket tracer Multi-thread
(I'm sorry that I'm still unable to start Xwindow/Cygwin in my computer)
(So I use my computer with a dual-core CPU to have these pictures)
(I have 1.6 frame per second without optimizing my code, it's interesting)
Ray traceing with one thread

Ray tracing with 2 threads(in fact I used 4 threads instead of 2 threads to get 100% CPU)

Problem 2: Path tracing
Conell Box with 1 sample, shoot one ray (spf = second per frame)

Conell Box with 1 sample, shoot two rays

Conell Box with 128 samples, shoot one ray

Conell Box with 128 samples, shoot two rays

Interesting scene: a teapot and a dragon in a mirrow room.
The floor and back wall are white mirrows, the left wall is a red mirrow and the right wall is a green mirrow.
The scene file is here

Homework2
Problem 1: RayPacket tracer
Single ray in debug mode. Profile here

RayPacket in debug mode. Profile here

Problem 2: Path tracing
It works well with Conell Box but it looks ugly with buddha scene.
Conell Box with 1 sample, single ray mode

Conell Box with 16 samples, single ray mode

Conell Box with 64 samples, single ray mode

Conell Box with 1 sample, packet ray mode

Conell Box with 16 samples, packet ray mode

Conell Box with 64 samples, packet ray mode

Update March 16 2007
Buddha scene with 1 sample

Buddah scene with 128 samples

Homework1
Problem 1: Building BVHTree
It takes me about ten minutes to build the BVHTree, but after that the speed is quite good (more than 1 frame per second).



Problem 2: Thin-lens camera
R = 0.5, S = 10, 256 samples

R = 0.1, S = 10, 256 samples

22c:169 Computer Security
Project Presentation
22C:151 Computer Graphics
Homework11
Problem 1&2:

Extra Credit

Homework10
Problem 1-4:

Problem 5: Load object file (more than 1 hour for one picture)

Extra Credit: Path Tracer. Shoot 256 rays (about 5 minutes for one picture)
A red sphere and a blue infinite plane. Back ground color is White, no light

A red sphere and a yellow infinite plane. Back ground color is White, no light

Homework9
Problem 1:

Extra Credit: texture the spheres and the planes
The spheres are textured with Red-Yellow check, the planes are textured with Red-White check

Homework8
Problem 1:

Homework7
Problem 1:
Extra Credit A: texture the complex objects

Extra Credit B: texture and illuminate the complex objects

Homework6
Problem 1:

Homework5
Problem 1 
Homework3
Problem 1

Problem 2

Extra Credit: execute the program to see, do not have any picture
Homework2
Problem 1
a)
b)
Problem 2

Extra Credit

Homework1
Problem 2
Problem 3

Addresses
- Email
- tinguyen@cs.uiowa.edu
- Paper Mail
-
Dat Tien Nguyen
Department of Computer Science
15 MLH
The University of Iowa
Iowa City, IA 52242-1419
USA
- Phone:
-
Home: 1-319-353-4440
Mobile: Not Available
This page was last modified on Jun 27 2007.
to the Department of Computer Science