Community
Arnold General Rendering Forum
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

A question about ray tracing in general.

3 REPLIES 3
Reply
Message 1 of 4
jnvfxartist
163 Views, 3 Replies

A question about ray tracing in general.

Hello Arnold Community, I have just a simple question to ask about the way ray tracing works.

From what I remember, ray tracing is suppose to scale linearly the more polygons you throw at it?

But what happens if you have two models with identical polygon counts, but the way they're modeled has different surfaces and complexities.

Would both objects still render at the same speed, or would the object that has more bumpy surfaces take longer than an object that was more smooth/flat?

Here's an example I whipped up quickly in 3DS Max.

4082-arnold1.png

Both objects have the same polycount, but the one on the right has been given a displacement map to make it bumpy. Because a bumpy object creates more shadows and bounces around more light, do ray tracers need to create extra calculations for this, or do they handle the rendering the same as if it were completely flat?

3 REPLIES 3
Message 2 of 4
thiago.ize
in reply to: jnvfxartist

Ray tracing generally has logarithmic scaling, not linear, with respect to increasing triangle counts. That means it can handle scenes with lots of geometry without slowing down too much. It doesn't mean that render times are identical for identical triangle counts when the triangles are modeled differently, since as you point out other things can happen, such as casting more rays, which can make the renderer slower.

Message 3 of 4
Stephen.Blair
in reply to: jnvfxartist

Try it and check the Arnold log.

00:00:01   681MB         | -----------------------------------------------------------------------------------
00:00:01   681MB         | ray counts                       ( /pixel, /sample) (% total) (avg. hits) (max hits)
00:00:01   682MB         |  camera                  1202960 (   9.28,    1.00) ( 37.63%) (     0.22) (       1)
00:00:01   676MB         |  shadow                   443696 (   3.42,    0.37) ( 13.88%) (     0.05) (       1)
00:00:01   677MB         |  diffuse_reflect          835687 (   6.45,    0.69) ( 26.14%) (     0.14) (       1)
00:00:01   678MB         |  specular_reflect         714567 (   5.51,    0.59) ( 22.35%) (     0.20) (       1)
00:00:01   678MB         |  total                   3196910 (  24.67,    2.66) (100.00%) (     0.17) (       1)
00:00:01   679MB         | by ray depth:              0     1     2
00:00:01   679MB         |  total                   45.3% 50.4%  4.3% 

The number of camera rays won't change.

But you'll probably have more shadow rays with the displaced surface. That's how shadows are calculated, Arnold traces shadow rays to see if the lights are blocked by geometry.

You may or may not have less diffuse and specular reflection rays. Depends on the lighting and scene set up.

Also note that displacement takes time. And if you add subdivision to get better displacement, then there will be more polygons. Both of those happen before any rays are traced.



// Stephen Blair
// Arnold Renderer Support
Message 4 of 4
jnvfxartist
in reply to: jnvfxartist

I'm having trouble loading up the raycounts in my Render log, but I did save out the information that popped up.

Here is the render with the displaced surface (I collapsed the modifiers so it's actually just one mesh)

END FRAME 0; TASK 1 OF 1; ; 9.75s; 0 faces; MEM 1453 MB;
Timing Statistics Report:
	Translation - Total: 	0.297s
	Translation - Geometry: 	0.228s
	Translation - Translation Misc.: 	0.061s
	Translation - Scene: 	0.006s
	Translation - Materials & Textures: 	0.002s
	Translation - Environment: 	0.000s
	Translation - Camera: 	0.000s
	Translation - Lights: 	0.000s
	Session Destruction: 	0.000s
	Session Creation: 	0.000s



Here is render with the smooth surface only:

END FRAME 0; TASK 1 OF 1; ; 9.98s; 0 faces; MEM 1449 MB;
Timing Statistics Report:
	Translation - Total: 	0.299s
	Translation - Geometry: 	0.231s
	Translation - Translation Misc.: 	0.060s
	Translation - Scene: 	0.005s
	Translation - Materials & Textures: 	0.002s
	Translation - Environment: 	0.000s
	Translation - Camera: 	0.000s
	Translation - Lights: 	0.000s
	Session Destruction: 	0.000s
	Session Creation: 	0.000s

From what I can tell, the object with the smooth surface took longer to render? But only by .2 seconds.



Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report