<?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 Double precision intersection in Intel® Embree Ray Tracing Kernels</title>
    <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Double-precision-intersection/m-p/1168883#M805</link>
    <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;In a case I'm working on, I am dealing with high values for tfar compared to the dimensions of my triangles. This results in precision problems, specifically around edges.&lt;BR /&gt;Thus, I am thinking about using double precision for ray/triangle intersection. What do you think would be the best approach? For now, I'm considering implementing a user geometry and implementing the Pluecker algorithm with double precision vertex coordinates.&lt;/P&gt;&lt;P&gt;Hamza&lt;/P&gt;</description>
    <pubDate>Mon, 03 Dec 2018 09:51:21 GMT</pubDate>
    <dc:creator>Chouh__Hamza1</dc:creator>
    <dc:date>2018-12-03T09:51:21Z</dc:date>
    <item>
      <title>Double precision intersection</title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Double-precision-intersection/m-p/1168883#M805</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;In a case I'm working on, I am dealing with high values for tfar compared to the dimensions of my triangles. This results in precision problems, specifically around edges.&lt;BR /&gt;Thus, I am thinking about using double precision for ray/triangle intersection. What do you think would be the best approach? For now, I'm considering implementing a user geometry and implementing the Pluecker algorithm with double precision vertex coordinates.&lt;/P&gt;&lt;P&gt;Hamza&lt;/P&gt;</description>
      <pubDate>Mon, 03 Dec 2018 09:51:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Double-precision-intersection/m-p/1168883#M805</guid>
      <dc:creator>Chouh__Hamza1</dc:creator>
      <dc:date>2018-12-03T09:51:21Z</dc:date>
    </item>
    <item>
      <title>Using a user geometry to do</title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Double-precision-intersection/m-p/1168884#M806</link>
      <description>&lt;P&gt;Using a user geometry to do the job should work. You would then still have vertices as float as well as u,v,t?&lt;/P&gt;&lt;P&gt;Could you describe the problem you face in some more detail? As you mention issues around edges, I assume you see rays tunneling through the mesh at an edge?&lt;/P&gt;</description>
      <pubDate>Tue, 04 Dec 2018 11:05:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Double-precision-intersection/m-p/1168884#M806</guid>
      <dc:creator>SvenW_Intel</dc:creator>
      <dc:date>2018-12-04T11:05:51Z</dc:date>
    </item>
    <item>
      <title>Currently, my mesh is</title>
      <link>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Double-precision-intersection/m-p/1168885#M807</link>
      <description>&lt;P&gt;Currently, my mesh is described using double precision out of Embree. I think that doing the intersection test using double precision should be enough to avoid the problems I'm describing.&lt;/P&gt;&lt;P&gt;These are, for example, two&amp;nbsp;hits near an edge between two triangles with the following characteristics :&lt;/P&gt;&lt;P&gt;Hit 0 :&lt;BR /&gt;tfar = 1000;&lt;BR /&gt;u = 0.5&lt;BR /&gt;v = 5e-4&lt;BR /&gt;primID = 0&lt;/P&gt;&lt;P&gt;Hit 1 :&lt;BR /&gt;tfar = 1000&lt;BR /&gt;u = -5e-4&lt;BR /&gt;v = 0.5&lt;BR /&gt;primID = 1&lt;/P&gt;&lt;P&gt;Both these hits verify the condition from triangle_intersector_pluecker.h :&lt;BR /&gt;(minUVW &amp;gt;= -eps) | (maxUVW &amp;lt;= eps)&lt;/P&gt;&lt;P&gt;I could choose to eliminate one of the two intersections (which, in this case, are equivalent) when tfar0 ~ tfar1.&lt;BR /&gt;However, this would result in missed intersections when two triangles from the same geometries overlap (and in this case, I need to have both the intersections).&lt;/P&gt;&lt;P&gt;Thus, the whole problem consists in deciding whether a ray hit an edge of hits two overlapping triangles, which is problematic when hit distances become high enough to reach the precision limits of the float 32 type.&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Dec 2018 13:36:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Embree-Ray-Tracing-Kernels/Double-precision-intersection/m-p/1168885#M807</guid>
      <dc:creator>Chouh__Hamza1</dc:creator>
      <dc:date>2018-12-04T13:36:36Z</dc:date>
    </item>
  </channel>
</rss>

