Archive for April, 2007

Reflection | noitcelfeR

Monday, April 23rd, 2007

Our raytracer has been significantly expanded.

First, we added reflection, which was cool… but everything looked like glass balls.
Second, we added distributed rays for reflections which gave us wonderful blurry reflections
Third, we applied this distribution to shadow calculations to get ourselves some soft shadows.
Finally, we added simple pre-rendering of a rotation around a scene using a distance from to position a point a distance
from our camera to rotate around.

Take a look:
Raytracer Assignment - Reflection

With fuzzy shadows:
Raytracer Assignment - Fuzzy Shadows

Animation even:

(The jerky motion is an artifact of the video screen-cap and not of the raytracer)

wmain vs _tmain

Wednesday, April 18th, 2007

Once again I find myself awake at 1:00am perusing my site access logs. Tonight I noticed something particularly interesting.. a decent number of people coming to my site visited the site in reference to the search query “wmain vs _tmain”.

Being the helpful individual that I try to be, I have decided that since so many of you are reaching my site from these terms, that I may as well provide a short and sweet answer to the question.

What is wmain, what is _tmain, and how do they relate?

Every C/C++ programmer I know is familiar with the main() function. This function being, of course, the entry point into your C or C++ application.

Much like main, wmain is also an entry point into your application it differs only in that it is the wide character version of this entry point. So if you wanted to support unicode in your application, it would be wise to use wmain for parsing of command line arguments and environment variables. It is important to note that the wmain unicode entry point is Windows specific.

Finally, _tmain is a Windows specific #define defined in TCHAR.h header file. This define resolves to wmain if UNICODE is defined, or the classic main() if UNICODE is not defined.

And now your search is no longer futile. Enjoy wandering C/C++ programmer. I hope I have helped.

Source: http://msdn2.microsoft.com/en-us/library/6wd819wh(VS.80).aspx

Who doesn’t love checkers?

Monday, April 16th, 2007

And yes, it has procedural texturing!
Texturing mapping from a file is on the way, but who knows when it’ll be done…

Obligatory photo!
Raytracer Assignment - Procedural Texturing

Bui Tuong Phong <3 <3 <3

Monday, April 9th, 2007

Dear Dr. Phong,

As Computer Science students wetting our feet in the realm of 3D ray-tracing, I can’t help but feel we’re standing on the shoulders of giants. You’ve provided us with this amazing approximation of synthetic lighting. We love it. We implemented it for our ray-tracer.

Thank you for everything.

Love,
Team More Bloom

P.S. Obligatory Screen shots!

One Light Source:
Phong Shading Implemented

Two (Multiple) Light Sources:
Phong Shading Impmented (Two Light Sources)

Checkpoint 2: Lines are so exciting!

Sunday, April 1st, 2007

Well, not too much to look at, but enough to get us excited. We’ve got rays tracing!
Below you should see a render with no reflection and no shadow detection.

What it does have is super sampling!

First with no super sampling:
RayTracer - Checkpoint 2 No Super SampingRayTracer - Checkpoint 2 No Super Samping w/ Zoom

And with super sampling:
RayTracer - Checkpoint 2 Super SampingRayTracer - Checkpoint 2 Super Samping w/ Zoom