GRP1 discussion

Programming topics can be found here.
bikker
Posts: 67
Joined: Fri Sep 27, 2013 12:40 pm

Re: GRP1 discussion

Post by bikker » Fri Oct 25, 2013 5:51 pm

BVH is mandatory this year. :) On the other hand, students start with a basic framework that takes care of some of the startup issues.

User avatar
100066
Posts: 9
Joined: Sun Sep 29, 2013 11:13 pm
Contact:

Re: GRP1 discussion

Post by 100066 » Fri Oct 25, 2013 5:53 pm

I see, interesting how the requirements change over the years.
Bryan Keiren - Programmer
http://bryankeiren.com/

bikker
Posts: 67
Joined: Fri Sep 27, 2013 12:40 pm

Re: GRP1 discussion

Post by bikker » Fri Oct 25, 2013 6:33 pm

I'm looking for the most 'bang for the buck' in terms of effort and gains. Previous years, I wanted people to build the ray tracer from scratch because I felt they had to be capable of doing that at this point in the study. I still believe that, but building an app with functionality that you don't understand on day 1 is relatively hard. So I took the hardcore coding bit more to the end by adding a BVH. Added benefit is that people now get exposed to a very useful and common data structure. On top of that, the final product is simply more rewarding and portfolio ready. I think it's a good trade-off, but we'll see in the surveys. :) If it didn't work out, I'll tweak again next year.
Everything to get you guys the best possible course, so you can make us proud when you get in the game industry.

User avatar
100066
Posts: 9
Joined: Sun Sep 29, 2013 11:13 pm
Contact:

Re: GRP1 discussion

Post by 100066 » Fri Oct 25, 2013 7:27 pm

As always, haha. Can't wait to see this year's final products! I'm curious to see how this change of direction will have affected the work performed and knowledge gained by students.
Bryan Keiren - Programmer
http://bryankeiren.com/

User avatar
122675
Posts: 25
Joined: Mon Sep 30, 2013 9:48 am
Contact:

Re: GRP1 discussion

Post by 122675 » Sat Oct 26, 2013 2:38 pm

Not many images have been posted lately, hopefully that will change soon now that we're getting closer to the deadline :) I was inspired by these images to try subsurface scattering. It is not completely physically accurate, but it still looks quite nice thanks to Beer's law. This image also shows my normal maps and chromatic abberation:

Image

And another one with lens flares: :P

Image
Tom Veltmeijer

bikker
Posts: 67
Joined: Fri Sep 27, 2013 12:40 pm

Re: GRP1 discussion

Post by bikker » Sat Oct 26, 2013 2:48 pm

Wow. I'm going to steel that from you once you handed it in.
Love it by the way how you casually toss around terminology like "physically accurate". :) How is this not physically accurate? Just refraction with beer?
By the way, is that the full 1M tri Lucy model?

User avatar
122675
Posts: 25
Joined: Mon Sep 30, 2013 9:48 am
Contact:

Re: GRP1 discussion

Post by 122675 » Sat Oct 26, 2013 3:11 pm

haha :D From what I've read, SSS is light randomly bouncing around inside an object, losing energy and then coming out of the surface somewhere else. That makes thin parts of a model look lighter because the light gets stuck there for a shorter amount of time. I approximate that effect by just sending the ray through the model with a small random offset and then using Beer's law for the absorption (maybe I should add some refraction too).
Finding Lucy took a while, because most versions are either point cloud data or 10M+ triangles that make Blender crash when trying export to .obj :P But later I found one with only 100k triangles which is what I'm using here.
Tom Veltmeijer

bikker
Posts: 67
Joined: Fri Sep 27, 2013 12:40 pm

Re: GRP1 discussion

Post by bikker » Sat Oct 26, 2013 3:17 pm

I think your approach for SSS is pretty decent. The way it's normally implemented is like this: the light that you get from the entry point could have entered anywhere on the mesh, but since there's steep fall-off, you limit yourself to a small sphere around the entry point. Select a random point on the mesh inside that sphere, and use a fall-off formula to modulate it. Obviously, the sphere could include regions on the other side of a thin object. Finding points on the surface within the sphere is done by casting rays from a random point on the boundary of the sphere to another random point on the boundary of the sphere. If this ray intersects with the geometry, you have your secondary point.

Of course you want to importance sample this, so the probability of selecting a point near your entry point is greater than the probability of selecting a point near the zero-contribution boundary.

Here's a nice recent paper on the subject: https://sites.google.com/site/ckulla/ho ... e-sampling
It's just a single page, but hard to comprehend; have a look at the slides instead, they are much clearer.

Advantage of the 'correct' approach over yours is that your approach may frequently consider paths that contribute nothing, especially for materials that are only slightly translucent. But clearly your approach gives rather decent results.

User avatar
122675
Posts: 25
Joined: Mon Sep 30, 2013 9:48 am
Contact:

Re: GRP1 discussion

Post by 122675 » Sat Oct 26, 2013 3:25 pm

Thanks for the info. I will see if I have any spare time to try this between all the other assignments and writing the report :P
Tom Veltmeijer

User avatar
122675
Posts: 25
Joined: Mon Sep 30, 2013 9:48 am
Contact:

Re: GRP1 discussion

Post by 122675 » Sun Oct 27, 2013 12:43 am

I tried not to work on my raytracer but it's just so much fun :S
Here is a little experimenting with volumetric lighting:

Image
Tom Veltmeijer

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest