Introduction to Maya - Modeling Fundamentals Vol 2
This course will look in the fundamentals of modeling in Maya with an emphasis on creating good topology. It's aimed at people that have some modeling experience in Maya but are having trouble with complex objects.
# 61 14-04-2006 , 06:30 PM
MattTheMan's Avatar
Registered User
Join Date: Apr 2005
Location: Fairfield, CT
Posts: 2,436
ok, so I started coding again.

I started from scratch. My program has support for triangles and supersampling, not to be confused w/ anti-aliasing, even though they have the same result, my program just samples each pixel 4 times(this can be increased or decreased, but at 4 samples it takes about a second to render). I can, however add true AA, the comp checking itself for aliasing and just supersampling the pixels that need it.

However, that doesnt always work, and mine always works. But mine wastes a ton of time basically rendering the scene 5 times....

Attached Thumbnails

Live the life you love, love the life you live
# 62 14-04-2006 , 07:30 PM
MattTheMan's Avatar
Registered User
Join Date: Apr 2005
Location: Fairfield, CT
Posts: 2,436
Next up- soft shadows (raytraced shadows, in Maya terms).
First, however I will make it just as if it was a grid of shadow casting lights on the area light, and then I will make my program a Monte Carlo tracer! Yay!

Monte Carlo is simply a method that goes like this:

Enough random samples and their average will become the correct answer.

So then I will randomly jitter the position of the samples for the area light, and that will replace the banding that will occur with noise. Then I will increase the samples until- voila, a perfect soft shadow.

Attached Thumbnails

Live the life you love, love the life you live
# 63 14-04-2006 , 10:33 PM
DJbLAZER's Avatar
Registered User
Join Date: Jun 2004
Location: Gothenburg, Sweden
Posts: 1,318
Nice going...I'm thinking about writing a raytracer myself since am taking a "Advanced Computer Graphics"-course right now. Would be good for the exam.

What codebase are you using? Since you're re-writing "from scratch" every now and then you can't seriously start with an empty cpp-file... it would take ages juts to get a pixel on the screen.


Last edited by DJbLAZER; 14-04-2006 at 11:09 PM.
# 64 14-04-2006 , 11:08 PM
DJbLAZER's Avatar
Registered User
Join Date: Jun 2004
Location: Gothenburg, Sweden
Posts: 1,318
I can see now that you're using the code from the tutorial at flipCode....

# 65 14-04-2006 , 11:35 PM
MattTheMan's Avatar
Registered User
Join Date: Apr 2005
Location: Fairfield, CT
Posts: 2,436
im not copying it, and my coding is much simpler then theirs...
i have no clue how to do inheritance sampling or polymorphism, so my code is WAAAY different then theirs.

Plus when I go into monte carlo Global Illumination and caustics, I have my own (thats right, my own) methods that are 10x slower and 100x simpler then the norm. Such as storing a huge array of 2d points and then comparing all thousands of them agains the non-gi rendered pic at each pixel, and then adding colors as the 2d map said.

But its true that most of my code did come from flipcode THE FIRST TIME I WROTE IT. Then I couldnt figure out what was happening in my own code, so I rewrote it with an "adapted" form of the flipcode codes. Now, this 3rd time I am writing it completely on my own, simply because flipcode's renderer isnt a Monte Carlo based Path Tracer, and mine will be.

Now, here is my first soft shadow render

Attached Thumbnails

Live the life you love, love the life you live
# 66 15-04-2006 , 02:16 PM
MattTheMan's Avatar
Registered User
Join Date: Apr 2005
Location: Fairfield, CT
Posts: 2,436
Yay! We have noise! Noise is much better then bands.

We are much more used to noise... like when you try to find your way around in the dark, you see tons of noise.

This is rendered with a jittered regular grid area light, 16 light rays per pixel.

Attached Thumbnails

Live the life you love, love the life you live
# 67 15-04-2006 , 02:36 PM
MattTheMan's Avatar
Registered User
Join Date: Apr 2005
Location: Fairfield, CT
Posts: 2,436
This is the effect of supersampling on the noise. I increased the scattering of the light (by 2 times) and added 2 samples (5 per pixel) supersampling.

Of course, it took way longer to render, and the quality is about the same as if I had increased the shadow rays to 81. But I'm sure the 81 samples would take longer to render.

Attached Thumbnails

Live the life you love, love the life you live
# 68 15-04-2006 , 07:16 PM
MattTheMan's Avatar
Registered User
Join Date: Apr 2005
Location: Fairfield, CT
Posts: 2,436
my last, non-gi render... next one will have path tracing on... sniff...

Attached Thumbnails

Live the life you love, love the life you live
# 69 15-04-2006 , 07:36 PM
gohan1842's Avatar
Subscriber
Join Date: Jul 2004
Posts: 1,060


I'm not a geek. I'm a nerd.

msn - g1842@hotmail.com
I'm up for a chat anytime.
# 70 15-04-2006 , 08:08 PM
MattTheMan's Avatar
Registered User
Join Date: Apr 2005
Location: Fairfield, CT
Posts: 2,436
cool! is your dad a programmer?


Live the life you love, love the life you live
# 71 16-04-2006 , 11:04 AM
arneoog's Avatar
Registered User
Join Date: Mar 2006
Posts: 189
Wow! Nice Software!

This is amazing for a 13 year old!!!
I'm 16 and I'v thought about learning c++ my self.

I was wondering if you could tell how you started, what was the first you did to start learning c++?
And what software do you use for the programming?

Thanks! And again, Nice Software! user added image

# 72 16-04-2006 , 12:23 PM
MattTheMan's Avatar
Registered User
Join Date: Apr 2005
Location: Fairfield, CT
Posts: 2,436
thanks!

Well the first thing I did was googled "beginner's c++ tutorials" then, I learnd a bit from there, and I bought c++ for dummies.

Then I decided what I wanted to program (raytracer) and I started reading on vector maths, calculus, linear algebra, etc...

As for compiler- im using a free compiler called DevC++ and also I am using 2 libraries to put pixels on the screen- SDL and QuickCG. Both are easy to install and work like a charm.

Anyway... I really need to get my ass in gear now, I am still just reading papers on Monte Carlo Path Tracing, and I don't understand a lot of it.

Also, I was thinking about making my renderer an Unbiased Renderer, but that would mean implementing Metropolis Light Transport, andI really don't want to go there.

l8er user added image
Matt user added image


Live the life you love, love the life you live

Last edited by MattTheMan; 17-04-2006 at 04:08 PM.
# 73 16-04-2006 , 02:21 PM
MattTheMan's Avatar
Registered User
Join Date: Apr 2005
Location: Fairfield, CT
Posts: 2,436
Ok, so I added reflections on top of soft shadows. Just cuz I need reflections and refractions for my Global Illumination and caustics algorithms, and I just want to make sure that they work. And while I am at it, I will add glossy reflections. I am working on it now.

However, its a much more complicated concept, that involves semi-random hemispherical sampling, but if I can do that, then I can do global illumination too.

Attached Thumbnails

Live the life you love, love the life you live
# 74 17-04-2006 , 03:20 PM
MattTheMan's Avatar
Registered User
Join Date: Apr 2005
Location: Fairfield, CT
Posts: 2,436
lol, I have to warn everybody- this is NOT the right way to do glossy reflections LOL :p

Attached Thumbnails

Live the life you love, love the life you live
# 75 18-04-2006 , 01:05 AM
Joopson's Avatar
Registered User
Join Date: Jul 2005
Location: Boston, MA
Posts: 2,314
looks cool either way:p


Environment Artist @ Plastic Piranha
www.joopson.com
Posting Rules Forum Rules
You may not post new threads | You may not post replies | You may not post attachments | You may not edit your posts | BB code is On | Smilies are On | [IMG] code is On | HTML code is Off

Similar Threads