Friday, May 16, 2008

Ray-Tracer w/ Photon Mapping Progress



The above image is a near final image. The links to our documentation follow.

Documentation

Thursday, May 8, 2008

Check Point 7: Please Leave your Message After the Tone


The above image is Ward, 1 Nit.


The above image is Ward, 100 Nit.


The above image is Ward, 1000 Nit.


The above image is Reinhard, 1 Nit.


The above image is Reinhard, 100 Nit.


The above image is Reinhard, 1000 Nit.

We have the extras for this.

Reinhart, 1000 Nit, with a = 0.5.


Reinhard, 1000 Nit, Luminance from pixel (1, 300);

With that, and having finished up ALL of these 8 images, the Ray Tracer project is complete.

Wednesday, May 7, 2008

Renderman



The above image is our modified shader image.



The above image shows our original shaders. Toon, Plaid, and a noisy displacement.



This our contest entry. It's a profile of Kim Pine from Scott Pilgrim.

Sunday, May 4, 2008

GPU Ray Tracer in Real-Time

This is from a couple weeks ago, but:

Friday, May 2, 2008

Refraction-Reshmaction


The above is our required image for CheckPoint6. It shows our refractive, glass sphere, in all it's glory.

No extra so far this checkpoint. It should be ok, since we have 5 or 6 extras already anyways.

Wednesday, April 23, 2008

Checkpoint 5: Let us reflect on what we have done

Conrad and I got on this one pretty quickly, and got the two images produced. Nasty floating point error slowed this submission down a bit.


The above image is our required image, showing the reflecting sphere.


We also have the extra, whether we need them or not at this point, we are still doing them. Our Ray Tracer allows us to specify the average deviation of the cone of rays, and I've turned it up pretty high so that the effect can be seen.

Thursday, April 17, 2008

GPU Ray Tracing Project Midterm Update



Con and I sat down and did our mid term update for our project. To this point, we've mostly got images that are the equivalent of checkpoint 2 running entirely on the GPU. The above image demonstrates this. The obvious differences is that we've compromised (so far at least) on using an Infinite plane due to data packing restrictions. Getting scene data into a pixel shader in HLSL is one of the challenges of this implementation.

The app runs at approximately 50 frames per second on my desktop machine, which has a Geforce 6600GT. We find that benchmark to be promising, and we're hoping to maintain real-time frame rates on the final version.

Testing is kind of a pain, since it primarily involves rendering different types of data as color information and reading the maps to see what's going wrong. We've rendered pixel perfect depth maps like that so far to diagnose one error we had in implementation.

We're pretty much on track at this point in the quarter for where we wanted to be on this project.

Thursday, April 10, 2008

Checkpoint 4: We don't waste any time!

The above image is our main submission for checkpoint 4. It demonstrates our procedurally textured red/yellow checkboard plane.

The above image is our texture mapped extra, textured with a somewhat pixalated image of Ramona Flowers dancing the Charleston with Scott Pilgrim.

Wednesday, April 9, 2008

Checkpoint 3: Shading Wow

Conrad and I went to work, and produced the following 3 images for this checkpoint.The above image is our required Phong Shaded image.
The above is a Phong-Blinn shaded image, giving us our first extra on this check point.
Finally, we support multiple light sources. The above image has 3 lights, one pure red, one pure blue, and one pure green. This gives us our second extra for this check point.

Monday, March 24, 2008

Project Proposal: GPU Raytracer Reimplementation

Team: Conrad Kreyling, Michael Ey
Class: 4003-571 (Computer Graphics II Undergraduate)
Professor: Warren C. Carithers

Scene to be created: A reconstruction of the Turner Whitted image used in the raytracer project, with emphasis on real-time rendering. This will sit in the Pixel pipeline on the GPU, but ultimately is a pipeline reimplementation.

Project Objectives:
  • Implementation of a raytracer entirely on the GPU
  • Attempt to achieve interactive frame rates
  • Attempt to implement photon mapping (at least caustics)
Software Used:
  • Microsoft's XNA2.0 Game Development Library (C#)
  • Microsoft's High-Level Shader Language (HLSL) Implementation
  • Microsoft Windows
Hardware Used:
  • x86 Architecture
  • DirectX 9.0c Compatible GPU
  • XBox 360
Project Components:
  • Small wrapper UI, quite possibly taken line for line from the raytracer project
  • A packed scene descriptor language able to be transfered to the card in a 1D texture
  • HLSL view plane generation algorithm
  • HLSL implementation of ray intersection tests
Project Responsibilities: Mike and I have worked on several projects in the past, and have become very accustomed to a organic development process. As such, neither of us have a preset list of responsibilities, but will work closely to ensure the project's completion.

Milestones:
  • By April 17th we intend to be developing a "Checkpoint 2" image. This covers:
    • Generation of scene descriptor language
    • Ray intersection tests
    • View plane generation
  • By April 25th we intend to have the Turner Whitted image rendered fully, with recursive raytracing
  • By May 17 we intend to have optimized the recursive raytracing algorithm to interactive levels (around 15 fps). We also intend to have Photon Mapping implemented, and an image demonstrating this feature.
Presentation:
  • We will provide a short PowerPoint-backed presentation briefly describing our project, and the technologies used
  • With any luck, we will be able to provide a live demo with an Xbox360 unit
  • Failing that, we will provide a live demo with a laptop :(

Sunday, March 23, 2008

Checkpoint 2: I Am A Professional Designer

The above image took Mike and me over 3 hours to render in MS Paint. We feel our work speaks for itself.


Furthermore, Mike was able to apply the "Motion Blur" filter in Photoshop to create the above image. He is truly a genius with computing technology.

In conclusion: Checkpoint 2 is done! Basic non-recursive raytracing is implemented as well as supersampling.

Sunday, March 16, 2008

Checkpoint 1

Conrad and I sat down and got the initial checkpoint done, using XNA. The paramaters of the scene are as follows:

Camera:
Position: x = 0.0, y = 0.0, z = 0.0
Look At: x = 0.0, y = 0.0, z = -1.0
Up: x = 0.0, y = 1.0, z = 0.0
Field Of View: 90.0 degrees
Near Clip: 1.0
Far Clip: 1000.0
Aspect Ratio: 4.0/3.0

Light:
Position: x = 1.2, y = 9.0, z = 5.0
Specular and Diffuse colors are both full white

Green Sphere:
Position: x = 0.3, y = 0.3, z = -3.4
Radius: 1.5

Yellow Sphere:
Position: x = -2.3, y = -0.8, z = -5.0
Radius: 1.5

Plane:
Position: x = -2.0, y = -2.0, z = 0.0
Width = 10.0
Length = 50.0