<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic I'm running into problems in Intel® Embree Ray Tracing Kernels</title>
    <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006619#M324</link>
    <description>&lt;P&gt;I'm running into problems when attempting to share the same vertex buffer between multiple scenes. It appears that I'm getting hits from other scenes (specifically the last scene I create) when firing on any given scene. Is it not possible to share a vertex buffer between multiple scenes successfully?&lt;/P&gt;

&lt;P&gt;Cheers,&lt;/P&gt;

&lt;P&gt;Patrick&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 16 Jul 2015 20:11:04 GMT</pubDate>
    <dc:creator>Patrick_S_4</dc:creator>
    <dc:date>2015-07-16T20:11:04Z</dc:date>
    <item>
      <title>Shared vertex buffers</title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006616#M321</link>
      <description>&lt;P&gt;Hi all,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;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?&lt;/P&gt;

&lt;P&gt;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.&lt;/P&gt;

&lt;P&gt;Patrick&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Jul 2015 16:14:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006616#M321</guid>
      <dc:creator>Patrick_S_4</dc:creator>
      <dc:date>2015-07-10T16:14:49Z</dc:date>
    </item>
    <item>
      <title>Only vertices referenced by</title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006617#M322</link>
      <description>&lt;P&gt;Only vertices referenced by the index buffer are valid geometry and handled by Embree. All other vertices in the vertex array are just ignored. Thus there is no problem to have unused vertices in the vertex buffer.&lt;/P&gt;</description>
      <pubDate>Mon, 13 Jul 2015 04:55:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006617#M322</guid>
      <dc:creator>SvenW_Intel</dc:creator>
      <dc:date>2015-07-13T04:55:49Z</dc:date>
    </item>
    <item>
      <title>Thank you! This helped with a</title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006618#M323</link>
      <description>&lt;P&gt;Thank you! This helped with a lot of problems I was having.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jul 2015 13:41:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006618#M323</guid>
      <dc:creator>Patrick_S_4</dc:creator>
      <dc:date>2015-07-14T13:41:41Z</dc:date>
    </item>
    <item>
      <title>I'm running into problems</title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006619#M324</link>
      <description>&lt;P&gt;I'm running into problems when attempting to share the same vertex buffer between multiple scenes. It appears that I'm getting hits from other scenes (specifically the last scene I create) when firing on any given scene. Is it not possible to share a vertex buffer between multiple scenes successfully?&lt;/P&gt;

&lt;P&gt;Cheers,&lt;/P&gt;

&lt;P&gt;Patrick&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Jul 2015 20:11:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006619#M324</guid>
      <dc:creator>Patrick_S_4</dc:creator>
      <dc:date>2015-07-16T20:11:04Z</dc:date>
    </item>
    <item>
      <title>You can share the same vertex</title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006620#M325</link>
      <description>&lt;P&gt;You can share the same vertex buffer multiple times in different scenes. However, that the buffer is shared also means that you cannot modify it for only a single scene only. If you modify the buffer, you modify it for all scenes.&lt;/P&gt;</description>
      <pubDate>Mon, 20 Jul 2015 05:13:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006620#M325</guid>
      <dc:creator>SvenW_Intel</dc:creator>
      <dc:date>2015-07-20T05:13:48Z</dc:date>
    </item>
    <item>
      <title>I believe that I'm now using</title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006621#M326</link>
      <description>&lt;P&gt;I believe that I'm now using the shared vertex buffer as intended now, but I'm now getting some odd behavior.&lt;/P&gt;

&lt;P&gt;Ray properties are coming back with invalid results such as intersection distances of inf and null triangle normals.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I've traced this all the way back to the intersection functions in Embree. They seem to be getting the correct vertices for the intended triangle, but somewhere in the intersection process things go awry.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;The strangest part of this is that when run with valgrind the ray query returns the intended result. For a time this led me to believe that I wasn't using the shared buffers correctly, but after triple checking my code I believe I'm following the instructions in the Embree api documentation correctly.&lt;/P&gt;

&lt;P&gt;Has anyone encountered something like this before?&lt;/P&gt;</description>
      <pubDate>Tue, 11 Aug 2015 19:20:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006621#M326</guid>
      <dc:creator>Patrick_S_4</dc:creator>
      <dc:date>2015-08-11T19:20:01Z</dc:date>
    </item>
    <item>
      <title>Figured this out. </title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006622#M327</link>
      <description>&lt;P&gt;Figured this out.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;My XEON_ISA cmake variable was set to AVX2. After changing this to SSE2, the ray tracing application started working as expected.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;The reason why isn't entirely clear to me though... is it possible that my architecture doesn't fully support AVX2 instructions?&lt;/P&gt;

&lt;P&gt;My machine uses an i7 core if that helps.&lt;/P&gt;</description>
      <pubDate>Tue, 11 Aug 2015 22:22:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006622#M327</guid>
      <dc:creator>Patrick_S_4</dc:creator>
      <dc:date>2015-08-11T22:22:35Z</dc:date>
    </item>
    <item>
      <title>I have not seen such</title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006623#M328</link>
      <description>&lt;P&gt;I have not seen such behaviour. But it seems you free the buffer you share with Embree too early. You have to keep the buffer alive as long as the Embree mesh is still existing.&lt;/P&gt;

&lt;P&gt;Could you initialize Embree through rtcInit("verbose=2") and send us the output when running your application. Are you using the single ray rtcIntersect function?&amp;nbsp;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;Could you check if the code works with AVX ? Does everything work if you do not use the vertex buffer sharing?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Could you also try if one of these solves the issue:&lt;/P&gt;

&lt;P&gt;rtcInit("accel=bvh4.triangle4")&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;rtcInit("accel=bvh4.triangle4i")&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 12 Aug 2015 13:59:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006623#M328</guid>
      <dc:creator>SvenW_Intel</dc:creator>
      <dc:date>2015-08-12T13:59:51Z</dc:date>
    </item>
    <item>
      <title>Hi Sven, </title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006624#M329</link>
      <description>&lt;P&gt;Hi Sven,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Using AVX for the XEON_ISA variable gets the program to work.&lt;/P&gt;

&lt;P&gt;I've attached the verbose output from my program run with both AVX and AVX2 (labeled accordingly).&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Everything does work if I don't use vertex buffer sharing, though I think I'm using it correctly. The memory block containing the vertices shouldn't be released until the very end of my program, after all calls to the Embree kernel are done.&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;Using both of those flags in the rtcInit command fixes the problem as well. What do they indicate to the kernel?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;Cheers,&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;Patrick&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 12 Aug 2015 21:35:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006624#M329</guid>
      <dc:creator>Patrick_S_4</dc:creator>
      <dc:date>2015-08-12T21:35:37Z</dc:date>
    </item>
    <item>
      <title>Hi Patrick,</title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006625#M330</link>
      <description>&lt;P&gt;Hi Patrick,&lt;/P&gt;

&lt;P&gt;it seems to be that some internal AVX2 optimizations are screwing up the intersection distance/normal. I'll have a look at&amp;nbsp;this issue asap.&lt;/P&gt;

&lt;P&gt;Two questions: Which embree version are you using and did you set the RTC_SCENE_ROBUST flag?&lt;/P&gt;

&lt;P&gt;Carsten.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 15 Aug 2015 19:19:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006625#M330</guid>
      <dc:creator>BenthinC_Intel</dc:creator>
      <dc:date>2015-08-15T19:19:28Z</dc:date>
    </item>
    <item>
      <title>Hi Patrick, this issue is</title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006626#M331</link>
      <description>&lt;P&gt;Hi Patrick, this issue is caused only when the code is compiled with GCC. You can work around the issue by using the precompiled binaries form the embree webpage which are compiled with ICC.&lt;/P&gt;</description>
      <pubDate>Mon, 17 Aug 2015 06:25:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006626#M331</guid>
      <dc:creator>SvenW_Intel</dc:creator>
      <dc:date>2015-08-17T06:25:07Z</dc:date>
    </item>
    <item>
      <title>Hi Patrick,</title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006627#M332</link>
      <description>&lt;P&gt;Hi Patrick,&lt;/P&gt;

&lt;P&gt;we'll try to fix the GCC/AVX2 optimization issues in the next Embree release.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 17 Aug 2015 17:23:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006627#M332</guid>
      <dc:creator>BenthinC_Intel</dc:creator>
      <dc:date>2015-08-17T17:23:51Z</dc:date>
    </item>
    <item>
      <title>Carsten and Sven, </title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006628#M333</link>
      <description>&lt;P&gt;Carsten and Sven,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I'm using the master branch of Embree right now (hash - &amp;nbsp;c10f373c2e37ff37f17929c323a62f39e9a8a242)&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I am indeed using the RTC_SCENE_ROBUST flag.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thank you for your help! I'll likely continue using AVX for now and look to rebuild when the next version is released.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Cheers,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Patrick&lt;/P&gt;</description>
      <pubDate>Tue, 18 Aug 2015 14:50:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006628#M333</guid>
      <dc:creator>Patrick_S_4</dc:creator>
      <dc:date>2015-08-18T14:50:00Z</dc:date>
    </item>
    <item>
      <title>Hi Parick,</title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006629#M334</link>
      <description>&lt;P&gt;Hi Parick,&lt;/P&gt;

&lt;P&gt;does the latest Embree version (2.6.2) resolves this issue?&lt;/P&gt;

&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Sun, 23 Aug 2015 10:04:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Shared-vertex-buffers/m-p/1006629#M334</guid>
      <dc:creator>BenthinC_Intel</dc:creator>
      <dc:date>2015-08-23T10:04:12Z</dc:date>
    </item>
  </channel>
</rss>

