Sunday, July 15, 2012

Shiny things

Being back on the visual side is a ton of fun. I’ve added a Blinn brdf, fresnel, importance sampling of materials with multiple bxdf’s and I’m working on a more generalized framework for layered physical materials that’ll lend itself to a more intuitive lookdev process. Also coming up in the near future is a couple of more brdfs, and possibly a btdf since glass seems to be all the rage for showing off ray tracers, before diving into the world of subdivision because, frankly, I’m getting tired of these hard edged triangles.

I’m still debating whether to support shading normals or not. I suppose it makes sense for flexibility, but restricting it to the geometric normal keeps things a bit more rooted in reality. I guess it’ll come down to how restrictive the lack of normal smoothing and potential bump mapping and distorted normals for layered cases like car paint etc is. I’m not sure I know of any engines that doesn’t allow distorted shading normals, which should probably raise a flag somewhere.

Some renders of the Stanford Lucy model with a square area light off screen top right and a blue’ish spherical infinite arealight. 100k polys, 1024x1024 resolution, 1024 samples per pixel, 12 light bounces.

80% white diffuse:
 




Blinn with a medium exponent:


Layered material using a Blinn layer over a red Lambertian diffuse.



Render times for these are still a bit nuts, so at some point I need to put together a better acceleration structure. The uniform grid solution I currently have is practical, but pretty suboptimal.

-Espen

No comments:

Post a Comment