Embree raycaster for V-Ray

Hello,

One of our programmers wrote an experimental implementation of the Embree raycaster for V-Ray 2.3; you can get it from the tools page here:

In some cases, the Embree raycaster can decrease render times up to 30%, so it’s definitely worth checking out :slight_smile: If it works out ok, we may consider including it as a standard part of V-Ray and also for other situations like proxies and instances.

Best regards,
Vlado

ahh i love news like this.. a pint for said programmer i recon. downloading now :smile:

any tips/documentation as to what the different tree types are good for?

i notice its mentioned that its only single precision… so im guessing in scenes where we get the “scene bounding box is too large” warning, we are more likely to get problems? any other times its likely to be a problem?

its also mentioned that being single precision is a big reason for the speedup.. does this mean adapting it to be double precision would negate any benefits, or vice versa reducing the precision of the standard vray raycaster to single precision would provide a big speedup..?

also, if this turns out to be useful is it possible that incorporating it into more aspects of vray could see larger improvements..?

For the moment, at least on my i7, the bvh4 and bvh4.spatial methods seem to perform best, with bvh4.spatial sometime being a little faster.

About any other potential problems - I don’t know yet, we have not tested it extensively. That’s why I’m putting it here for public preview :slight_smile:

For the double precision, it will slow it down a lot, yes. Making the V-Ray raycaster a single-precision one will speed it up too.

Raycasting takes anywhere between 50% and 70% of the total calculation times in V-Ray; since Embree is about twice as fast compared to the V-Ray raycaster, the biggest improvement you can get is between 25% and 35%. Using AVX instructions could speed it up more though - we have yet to try this out.

Best regards,
Vlado

nevermind!
removed

ahh..not using AVX yet? i assumed the whole thing with embree was that it used every trick the intel chips had inside them to get the fastest result. maybe 2 pints for the coder when he gets it running at full steam. :wink:

I’ve downloaded the vrayembree2013.dlo, but how do you make use of it/enable it within max?

there are instructions in the readme that comes with it..

Yeah I’ve followed them but they don’t really tell you much other than where to put the file and what it does once you have it running.

it says you create a helper in the scene, and then it works.. what else is there?

Hmm.. I see no helper in the list other than vray light meter.

Ahhhh… It’s not in the “create” drop down menu, its on the right side. Now I see it.

thats strange. you have vray 2.30?

i dunno about max 2013 but in 2012 i have vray bptracer vray embree, vraylightmeter and vraystereoscopic.

you are putting the dlo in the plugins/vrayplugins folder?

first tests with simple scene and 12% faster with bhv4…I think it is already worth using it so if we get proxy support etc it will become first choice for many of us.

id maybe wait to see what problems the single-precision thing will introduce before deciding its worth using/first choice.. thats quite a large step down in accuracy!

i suspect on the scale of scenes i work with it might be an issue but i didnt test thoroughly yet.

Did a test too..
Using bhv4

Embree ON - 4m45s
Embree OFF - 6m15s

Image looks identical.

im interested, what happens if you put the embree image over the standard image in photoshop and set the blending mode to “difference” .. its really identical? if not, where are the differences ? im guessing just in the grain pattern.

im planning to test this myself but im in deadline mode so will have to wait.

We’ll get to that next week, I hope.

Best regards,
Vlado

how exciting.. as if vray wasnt really fast already :slight_smile: btw, does this benefit RT too?

For the moment - no. Only the production V-Ray renderer is affected, regardless of what actual GI algorithm is used.

Best regards,
Vlado