<div dir="ltr">posted.<div><br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>David E DeMarle<br>Kitware, Inc.<br>Principal Engineer<br>21 Corporate Drive<br>Clifton Park, NY 12065-8662<br>Phone: 518-881-4909</div></div></div></div></div></div>
<br><div class="gmail_quote">On Thu, May 31, 2018 at 8:17 AM, David E DeMarle <span dir="ltr"><<a href="mailto:dave.demarle@kitware.com" target="_blank">dave.demarle@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">I'll remove the need for them at some point, but for 5.5 they are helpful. <div dir="auto">So yes discourse is a good place for safe keeping. <br></div></div><div class="HOEnZb"><div class="h5"><br><div class="gmail_quote"><div dir="ltr">On Wed, May 30, 2018, 8:53 PM Scott, W Alan <<a href="mailto:wascott@sandia.gov" rel="noreferrer" target="_blank">wascott@sandia.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div class="m_-2408592923978852610m_-9047305730389047110m_8049112168137077590WordSection1">
<p class="MsoNormal">Dave,<u></u><u></u></p>
<p class="MsoNormal">Would this be a good set of scripts to put in our brand new, squeeky clean Tips and Tricks section of Discourse?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><a href="https://discourse.paraview.org/" rel="noreferrer noreferrer" target="_blank">https://discourse.paraview.<wbr>org/</a><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Alan<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal" style="margin-left:.5in"><b>From:</b> ParaView [mailto:<a href="mailto:paraview-bounces@public.kitware.com" rel="noreferrer noreferrer" target="_blank">paraview-bounces@<wbr>public.kitware.com</a>]
<b>On Behalf Of </b>David E DeMarle<br>
<b>Sent:</b> Tuesday, May 22, 2018 12:10 PM<br>
<b>To:</b> Jonathan Borduas <<a href="mailto:jonathan.borduas@caboma.com" rel="noreferrer noreferrer" target="_blank">jonathan.borduas@caboma.com</a>><br>
<b>Cc:</b> <a href="mailto:paraview@public.kitware.com" rel="noreferrer noreferrer" target="_blank">paraview@public.kitware.com</a><br>
<b>Subject:</b> [EXTERNAL] Re: [Paraview] OSPRay textures and materials mapping<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
<div>
<p class="MsoNormal" style="margin-left:.5in">And here is a python schell script to make step 4 (create the lookuptable) automatic.<u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
<div>
<p style="margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;white-space:pre-wrap">
<span style="font-size:9.0pt;font-family:Courier;color:black">apartment = FindSource("sample_apartment.<wbr>obj")</span><u></u><u></u></p>
<p style="margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;white-space:pre-wrap">
<span style="font-size:9.0pt;font-family:Courier;color:black">vtklevel = apartment.GetClientSideObject(<wbr>)</span><u></u><u></u></p>
<p style="margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;white-space:pre-wrap">
<span style="font-size:9.0pt;font-family:Courier;color:black">lut = GetColorTransferFunction('<wbr>MaterialIds')</span><u></u><u></u></p>
<p style="margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;white-space:pre-wrap">
<span style="font-size:9.0pt;font-family:Courier;color:black">arr = vtklevel.GetOutput().<wbr>GetFieldData().<wbr>GetAbstractArray(0)</span><u></u><u></u></p>
<p style="margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;white-space:pre-wrap">
<span style="font-size:9.0pt;font-family:Courier;color:black">lut.<wbr>InterpretValuesAsCategories = 1</span><u></u><u></u></p>
<p style="margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;white-space:pre-wrap">
<span style="font-size:9.0pt;font-family:Courier;color:black">ll = []</span><u></u><u></u></p>
<p style="margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;white-space:pre-wrap">
<span style="font-size:9.0pt;font-family:Courier;color:black">for x in range(0, arr.GetNumberOfTuples()):</span><u></u><u></u></p>
<p style="margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;white-space:pre-wrap">
<span style="font-size:9.0pt;font-family:Courier;color:black">ll.append(str(x))</span><u></u><u></u></p>
<p style="margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;white-space:pre-wrap">
<span style="font-size:9.0pt;font-family:Courier;color:black">ll.append(arr.GetValue(x))</span><u></u><u></u></p>
<p style="margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;white-space:pre-wrap">
<span style="font-size:9.0pt;font-family:Courier;color:black"><u></u> <u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><br clear="all">
<u></u><u></u></p>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">David E DeMarle<br>
Kitware, Inc.<br>
Principal Engineer<br>
21 Corporate Drive<br>
Clifton Park, NY 12065-8662<br>
Phone: 518-881-4909<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
<div>
<p class="MsoNormal" style="margin-left:.5in">On Tue, May 22, 2018 at 1:51 PM, David E DeMarle <<a href="mailto:dave.demarle@kitware.com" rel="noreferrer noreferrer" target="_blank">dave.demarle@kitware.com</a>> wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">On Tue, May 22, 2018 at 12:34 PM, David E DeMarle <<a href="mailto:dave.demarle@kitware.com" rel="noreferrer noreferrer" target="_blank">dave.demarle@kitware.com</a>> wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
<div>
<p class="MsoNormal" style="margin-left:.5in">On Tue, May 22, 2018 at 10:34 AM, Jonathan Borduas <<a href="mailto:jonathan.borduas@caboma.com" rel="noreferrer noreferrer" target="_blank">jonathan.borduas@caboma.com</a>> wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt;margin-left:.5in">
Hi David, <br>
<br>
I was able to complete all the steps. As you probably know, the step four was tedious.
<br>
<br>
However I couldn’t get the result I wanted since I couldn’t assign the right textures to the right areas. Is there a mechanism to assign the texture just like we assign materials ?<br>
I guess this is what you mean by “multi-texture isn’t implemented yet”. I could probably extract all objects using a connectivity filter and then manually assign the textures, but again it is a tedious process for complex objects.
<u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Better to do it in the code. We read in all of the texture coordinates when we read the .obj and all of the texture files when we read the .mtl -> we just aren't using the right set of texture coordinates in all
 cases yet. That is most of what I mean by multitexture.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
</div>
</div>
</div>
</blockquote>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
Is there a roadmap as to when the multi-texture could be implemented ?<u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">I'm hoping for 5.6 in a couple of months time. Although this is important it may very well slip because of other priorities.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><br>
In the meantime, this python programmable filter is a workaround.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<pre style="margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt">pdi <span style="color:#666666">=</span> <span style="color:green">self</span><span style="color:#666666">.</span>GetInput()<u></u><u></u></pre>
<pre style="margin-left:.5in">pdo <span style="color:#666666">=</span> <span style="color:green">self</span><span style="color:#666666">.</span>GetOutput()<u></u><u></u></pre>
<pre style="margin-left:.5in">pdo<span style="color:#666666">.</span>ShallowCopy(pdi)<u></u><u></u></pre>
<pre style="margin-left:.5in"><u></u> <u></u></pre>
<pre style="margin-left:.5in">arraynames <span style="color:#666666">=</span> []<u></u><u></u></pre>
<pre style="margin-left:.5in">arrays <span style="color:#666666">=</span> {}<u></u><u></u></pre>
<pre style="margin-left:.5in"><b><span style="color:green">for</span></b> a <b><span style="color:#aa22ff">in</span></b> <span style="color:green">range</span>(<span style="color:#666666">0</span>,pdi<span style="color:#666666">.</span>GetPointData()<span style="color:#666666">.</span>Get<wbr>NumberOfArrays()):<u></u><u></u></pre>
<pre style="margin-left:.5in">  array <span style="color:#666666">=</span> pdi<span style="color:#666666">.</span>GetPointData()<span style="color:#666666">.</span>GetArray(a)<u></u><u></u></pre>
<pre style="margin-left:.5in">  <b><span style="color:green">if</span></b> array<span style="color:#666666">.</span>GetNumberOfComponents() <span style="color:#666666">!=</span> <span style="color:#666666">2</span>:<u></u><u></u></pre>
<pre style="margin-left:.5in">    <b><span style="color:green">continue</span></b><u></u><u></u></pre>
<pre style="margin-left:.5in">  arrname <span style="color:#666666">=</span> array<span style="color:#666666">.</span>GetName()<u></u><u></u></pre>
<pre style="margin-left:.5in">  pdo<span style="color:#666666">.</span>GetPointData()<span style="color:#666666">.</span>RemoveArray<wbr>(arrname)<u></u><u></u></pre>
<pre style="margin-left:.5in">  arraynames<span style="color:#666666">.</span>append(arrname)<u></u><u></u></pre>
<pre style="margin-left:.5in">  arrays[arrname] <span style="color:#666666">=</span> array<u></u><u></u></pre>
<pre style="margin-left:.5in"><u></u> <u></u></pre>
<pre style="margin-left:.5in">tcoords <span style="color:#666666">=</span> vtk<span style="color:#666666">.</span>vtkFloatArray()<u></u><u></u></pre>
<pre style="margin-left:.5in">tcoords<span style="color:#666666">.</span>SetName(<span style="color:#ba2121">"TCoords"</span>)<u></u><u></u></pre>
<pre style="margin-left:.5in">tcoords<span style="color:#666666">.</span>SetNumberOfComponents(<span style="color:#666666"><wbr>2</span>)<u></u><u></u></pre>
<pre style="margin-left:.5in">pdo<span style="color:#666666">.</span>GetPointData()<span style="color:#666666">.</span>SetTCoords(<wbr>tcoords)<u></u><u></u></pre>
<pre style="margin-left:.5in"># todo numpy this to make it 100x faster<u></u><u></u></pre>
<pre style="margin-left:.5in"><b><span style="color:green">for</span></b> p <b><span style="color:#aa22ff">in</span></b> <span style="color:green">range</span>(<span style="color:#666666">0</span>, pdi<span style="color:#666666">.</span>GetNumberOfPoints()):<u></u><u></u></pre>
<pre style="margin-left:.5in">  tcoord <span style="color:#666666">=</span> [<span style="color:#666666">0</span>,<span style="color:#666666">0</span>]<u></u><u></u></pre>
<pre style="margin-left:.5in">  <b><span style="color:green">for</span></b> arrname <b><span style="color:#aa22ff">in</span></b> arrays:<u></u><u></u></pre>
<pre style="margin-left:.5in">    candidate <span style="color:#666666">=</span> arrays[arrname]<span style="color:#666666">.</span>GetTuple2(p)<u></u><u></u></pre>
<pre style="margin-left:.5in">    <b><span style="color:green">if</span></b> candidate[<span style="color:#666666">0</span>] <span style="color:#666666">==</span> <span style="color:#666666">-1</span> <b><span style="color:#aa22ff">and</span></b> candidate[<span style="color:#666666">1</span>] <span style="color:#666666">==</span> <span style="color:#666666">-1</span>:<u></u><u></u></pre>
<pre style="margin-left:.5in">      <b><span style="color:green">continue</span></b><u></u><u></u></pre>
<pre style="margin-left:.5in">    tcoord <span style="color:#666666">=</span> candidate<u></u><u></u></pre>
<pre style="margin-left:.5in">  tcoords<span style="color:#666666">.</span>InsertNextTuple2(<wbr>tcoord[<span style="color:#666666">0</span>],tcoord[<span style="color:#666666">1</span>])<u></u><u></u></pre>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<p class="MsoNormal" style="margin-left:.5in"> <u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
It would be great to have readers that can load texture/Geometry/Materials files such as .obj (.mtl and .png), .fbx and .dwg.
<u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Agreed.<u></u><u></u></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in"> <u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
Best regards,<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
Jonathan Borduas<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
<b>From:</b> David E DeMarle <<a href="mailto:dave.demarle@kitware.com" rel="noreferrer noreferrer" target="_blank">dave.demarle@kitware.com</a>>
<br>
<b>Sent:</b> Friday, May 18, 2018 10:58 AM<br>
<b>To:</b> Jonathan Borduas <<a href="mailto:jonathan.borduas@caboma.com" rel="noreferrer noreferrer" target="_blank">jonathan.borduas@caboma.com</a>><br>
<b>Cc:</b> <a href="mailto:paraview@public.kitware.com" rel="noreferrer noreferrer" target="_blank">paraview@public.kitware.com</a><br>
<b>Subject:</b> Re: [Paraview] OSPRay textures and materials mapping<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-left:.5in">
Hi Jonathan.<u></u><u></u></p>
<div>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
Yes you can do that.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-left:.5in">
1) File->Load OSPRay Materials, switch the file type from "OSPRay Material Files (*.json)"  to "Wavefront Material FIles (*.mtl)". That will let you load all of the materials and textures. They should all show up in the Material list.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
2) The OSPRay Material selection (on Display section of Properties Tab advanced) will have all of the individual materials listed in it + a few others including "Value Indexed" which is all the way at the bottom. Choose that it means "use the categorical color
 lookup table to decide what material to use for each block and or polygon"<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
3) Now change the scalar array to color by to "Material Id", a cell aligned array which has the material index to use for each cell.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
4) Make up a categorical lookup table.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
   open spreadsheet view, switch to Field Data, look at the Material Names.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
   open the color map editor for the "Material Id", click on Interpret Values As Categories and the color will change from bluewhitered to extremely YELLOW.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
   add annotations, value 0 should be the name of the first entry in the Material Names array.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
Notes:<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in;background:white">
<span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:#222222">* I have the trivial script somewhere that I used for the SC17 demo that makes up the lookup table for you. I'll try and dig that up.</span><u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
* in general it isn't a 1:1 match between mtl and ospray, in particular multitextures are not yet implemented<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
* along those lines, the mtl parser I whipped up $PVSRC/VTK/Rendering/OSPRay/<wbr>vtkMaterialLibrary::<wbr>InternalParseMTL recognizes a "type" extension outside of mtl that lets you bring in ospray's nice materials instead of the default OBJMaterial. Glass and Metal
 are particularly nice.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
At some point I'll get around to making this all automatic. Patches are welcome in the meantime.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
good luck<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
<br clear="all">
<u></u><u></u></p>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
David E DeMarle<br>
Kitware, Inc.<br>
Principal Engineer<br>
<a href="https://maps.google.com/?q=21+Corporate+Drive+%0D%0AClifton+Park,+NY+12065&entry=gmail&source=g" rel="noreferrer noreferrer" target="_blank">21 Corporate Drive</a><br>
Clifton Park, NY 12065-8662<br>
Phone: 518-881-4909<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-left:.5in">
On Fri, May 18, 2018 at 10:25 AM, Jonathan Borduas <<a href="mailto:jonathan.borduas@caboma.com" rel="noreferrer noreferrer" target="_blank">jonathan.borduas@caboma.com</a>> wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
Hi, <br>
<br>
I tried rendering an .obj file running OSPRay that was exported from PCon Planner Version 7.7 Patch 1. The original file is a .dwg
<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
I used the PathThracer mode. However, attached to the .obj there is an .mtl file containing 50+ materials and 50+ texture (.png) files.
<br>
<br>
I didn’t find an automated way to map all polydata of the .obj with their respective material and texture file and rendering them using OSPRay.
<br>
<br>
It seems that I have to assign the material and texture to each polydata one-by-one.<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
<p class="MsoNormal" style="margin-bottom:12.0pt;margin-left:.5in">
Is there a feature that will automatically map the respective textures and materials ?<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
Here is the link to download the original .dwg file. <a href="https://www.easterngraphics.com/pcon/en/wp-content/uploads/2015/03/sample_apartment.dwg" rel="noreferrer noreferrer" target="_blank">
https://www.easterngraphics.<wbr>com/pcon/en/wp-content/<wbr>uploads/2015/03/sample_<wbr>apartment.dwg</a><u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
You will need to export it to .obj using PCon Planner Version 7.7 Patch 1 with the File/Export/Geometry menu.
<br>
I couldn’t share the .obj  file since the size is 60mb+ <u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
Thank you<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
<span style="color:#888888"> </span><u></u><u></u></p>
<p class="MsoNormal" style="margin-bottom:12.0pt;margin-left:.5in">
<span style="color:#888888">Jonathan Borduas</span><u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
<span style="color:#888888"> </span><u></u><u></u></p>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt;margin-left:.5in">
<br>
______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer noreferrer" target="_blank">
http://www.kitware.com/<wbr>opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" rel="noreferrer noreferrer" target="_blank">
http://paraview.org/Wiki/<wbr>ParaView</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer noreferrer" target="_blank">
http://markmail.org/search/?q=<wbr>ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="https://public.kitware.com/mailman/listinfo/paraview" rel="noreferrer noreferrer" target="_blank">https://public.kitware.com/<wbr>mailman/listinfo/paraview</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal" style="margin-left:.5in">
 <u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
</div>
</div>
</div>
</div>

</blockquote></div>
</div></div></blockquote></div><br></div>