Embree: Photo-Realistic Ray Tracing Kernels

Code documentation & information ?

Hi,

I'm currently discovering the Embree code and have a few questions, because there is no documentation on some functions:

1) signmsk
2) xorf
3)  rcp

BTW, if I understand, in the file "triangle1v_intersector_pluecker".h there is the following code :

const float sgnDet = signmsk(det);
const float U = xorf(dot(cross(v2+v0,e0),D),sgnDet); 

Is it equivalent to : const float U = copysign(dot(cross(v2+v0,e0),D), det);

Thanks

Embree intersectors and hit IDs

Hello,

I'm starting to develop a ray tracing application using Embree.

What I managed to do :

  • Create an accelerator structure.
  • Create an intersector from this structure.
  • Intersect some rays with triangles.

My problem is that no matter what direction of propagation the ray has, I always get the same id0 and id1 parameters (0 and 0) in the generated Hit object. I guess this is because all the triangles are considered to be in the same primitive.

Infinite floats

I think you should really use very large/small floats values for stuff like bounding boxes, where currently fp infinity is used (bbox.h constructors). That's because those infinities propagate through the code and are causing incorrect values and asserts, therefore -> rendering artefacts (bv4_builder.cpp line 121). (Ignoring the fact that a little slowdown may also be observed when INF is involved in calculations).

embree on vista and any processor

Hello,

first let me thank you for a great library. I am going to use it in my project, but there are two problems:

- I need to use it on Vista

- I need to use it on a bit older processors with SSE_2 support (also AMD)

Is there a chance that version 2.0 will automatically select code for given processor at runtime?

Now I can compile for sse 3.0 or 4.2 to get maximum speed but limiting program usage to latest processors,

or compile to SSE_2 and lose most of its power...

Also Vista support would be a big plus.

A median cut builder for Embree

Just for the sake of comparison, I have implemented a median cut builder. Not surprisingly, it has the fastest build times and the slowest rendering performance, although the gap with object splitting is narrower than I expected.

To use this builder, specify -accel [bvh2, bvh4, bvh4mb].mediancut on the command line.

Pages

S’abonner à Embree: Photo-Realistic Ray Tracing Kernels