Embree: Photo-Realistic Ray Tracing Kernels

Embree Unhandled Exception

Hello everyone,

I am trying to use Embree for tracing the scene (just for visibility) of an existing project of mine. I can compile the program without giving any errors. However, when I try to run it, it gives an unhandled exception (std::bad_alloc at memory) before even the main function is started to execute. Last thing in the call stack is "KernelBase.dll" called after "embree.dll".

Could you give me an idea about the point I am missing?

Thank you, have a nice day!

Issue with subdivision surfaces in 2.6.0

Hi, I'm using 2.6.0 on OSX Yosemite and I'm getting weird results using subdivision meshes. It looks like the faces' connectivity isn't correct, but as far as I can tell I'm using the API correctly (I'm hoping I'm just doing something stupid).

In this example I'm rendering a simple "torus" with 9 vertices and 9 faces. Here's the geo in Maya and a subdiv render in Arnold:






and here's what I get rendering the same in my app:

Shared vertex buffers

Hi all, 

I was just wondering what the status of geometries will be if there are unused vertices in the buffer. Will these be treated as primitives eligible for ray intersections?

My curiosity stems from the idea of using the same vertices (in memory) to define the boundaries between adjacent geometries in a scene, removing any possible overlaps due to numerical error. The idea would be to have one single vertex buffer for all geometries, each geometry having an index buffer using a subset of the vertex buffer it needs to define the mesh.


Subdivision surfaces, displacement, and smooth normals

This is my first post to the forum, so to the developers I'd like to give kudos for such a clean api and a well performing implementation.  It's been a pleasure to use.

Now on to my question: Is there any advice for getting smooth subdivision normals while using displacement? I'm defining RTCORE_RETURN_SUBDIV_NORMAL in my build configuration. I'd like to avoid hacking on the sources in favor of working within the Embree design as intended. Should I consider moving to the development branch of the git repository? What's the intent with that branch regarding the typical client?

Filter functions by scene


I'm wondering if there's a way to set the filter function for all geometries in a given scene at once. I have two types of filters I'd like to use for different ray_fires, but I don't want to have to track the number of geometries in each scene and reset them for each geometry when I switch between the two. 

I've considered using the Occlusion intersection function for one of the cases to avoid this switch, but it doesn't return enough information about the ray hit for me to use it I'm afraid.

Any suggestions?



Backface culling determination

Wondering how Embree determines which faces are 'backfacing' when this option is enabled upon compilation or set for a geometry. 

Do all triangles in the surface need to be backfacing for the surface to be ignored by the ray? Or only the ones which would typically be hit by the ray?

A simple example being a ray passing through the barrel of a cylinder with some triangle normals facing the ray and others not.



Closest to location

For our purposes of using Embree as a ray-tracer in our geometry-accelerated Monte Carlo code, it is sometimes necessary to find the closest intersection to a given location. Would you have a recommendation on how best to do this using Embree?

Thank you for your time.

Prerequisite for Embree?


This is my first post.

I'n new to Embree and really interested in learning about it. I want to know what are good prerequisite courses to take before diving deep into Embree. My goal is to make Embree fast as possible by using advanced acceleration data structures, acceleration algorithms and hardware optimizations. 

Here are these few courses that I think might be relevant:


sunlight and glass material

Hello everybody,
I'm trying the last embree examples with sphere_glass.xml test scene. I just replaced the HDRILight with DISTANTLIGHT as follow:
    0   0   -0.000000   0
    0   0   -0.777146   0
    0   0   -0.629320   0
<L>350.000000 350.000000 350.000000</L>

Iscriversi a Embree: Photo-Realistic Ray Tracing Kernels