<div dir="ltr"><div>Hello:<br><br></div>Way back in the day, Shout3D had such an extension in their Node Set.<br>They called it MultiMesh.<br><div><div><br><a href="http://shout3d.net/shout3d_2.5_doc_dir/docs/nodes_reference/MultiMesh.html">http://shout3d.net/shout3d_2.5_doc_dir/docs/nodes_reference/MultiMesh.html</a><br>
<br></div><div>( Looks like someone is still paying the bills at Shout3d! )<br><br></div><div>The basic idea is that they replaced the SFNode appearance field in the Shape node with a MFNode field ( appearences ), which is a LIST of appearance nodes, rather than a single Appearance node.<br>
</div><div>Then, the Geometry node would have an additional field:  MFInt32, appearanceIndex.  Which assigns an appearance Index for each TRIANGLE. ( or face )<br><br></div><div>That general approach was a bit messy.  I would have preferred that they specify the transition between the appearances, so it forces the author to place all the triangles ( or Faces ) that share the same appearance to be next to eachother. ( so the renderer does not have to do so )<br>
</div><div><br></div><div>So, we would have:<br><br></div><div>MultiAppearanceShape<br>{<br></div><div>SFNode geometry<br></div><div>MFNode appearances<br></div><div>}<br></div><div><br></div><div>AND<br><br></div><div>AdditionalfieldOnGeometryNode:<br>
<br></div><div>MFInt32 appearanceIndex   ( index of appearance node Per Face )<br><br></div><div>or<br><br></div><div>MFInt32 appearanceTransition  (index of the Face where we transition to the next appearance )<br></div>
<div><br><br><br></div><div>Keith Victor<br></div><div><br><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Feb 5, 2013 at 1:31 PM, Richard F. Puk <span dir="ltr"><<a href="mailto:puk@igraphics.com" target="_blank">puk@igraphics.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div link="blue" vlink="purple" lang="EN-US"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi, Tony and Dave –<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">How about someone proposing such a node so that its specific characteristics can be evaluated? Everyone knows what a submesh is but how to fit it in cleanly in the X3D architecture is somewhat open. Please provide a proposed node definition.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p style="margin-left:22.8pt"><u></u><span style="font-size:11.0pt;font-family:Wingdings;color:#1f497d"><span>n<span style="font:7.0pt "Times New Roman"">  </span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Dick<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">/******************************************<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">| Richard F. Puk, Ph.D., President<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">| Intelligraphics Incorporated<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">| 7644 Cortina Court<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">| Carlsbad, CA  92009-8206<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">| Tel: <a href="tel:%2B1-760-753-9027" value="+17607539027" target="_blank">+1-760-753-9027</a>  Mobile:  <a href="tel:%2B1-760-809-9027" value="+17608099027" target="_blank">+1-760-809-9027</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">| Email:  <a href="mailto:puk@igraphics.com" target="_blank"><span style="color:blue">puk@igraphics.com</span></a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">\****************************************** <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><a name="13cac45fa23dbdd4__MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></a></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> X3D-Public [mailto:<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>] <b>On Behalf Of </b>Tony Parisi<br>
<b>Sent:</b> Tuesday, February 5, 2013 9:26 AM<br><b>To:</b> Dave A<br><b>Cc:</b> x3d public mailing list<br><b>Subject:</b> Re: [X3D-Public] Support for submeshes?<u></u><u></u></span></p><div><div class="h5"><p class="MsoNormal">
<u></u> <u></u></p><p class="MsoNormal" style="margin-bottom:12.0pt">Yeah it's been that way for 2 decades now. Would be nice to have submesh materials, all modern tools and rendering systems have them.<u></u><u></u></p>
<div><p class="MsoNormal">On Tue, Feb 5, 2013 at 9:01 AM, Dave A <<a href="mailto:dave@realmofconcepts.com" target="_blank">dave@realmofconcepts.com</a>> wrote:<u></u><u></u></p><div><p class="MsoNormal">So, this means that no X3D player could really understand the modern(?) concept of a mesh with several materials (actually, modelling programs been making them for a long time, was something I faced on the Max to X3D exporter).<br>
<br>I think it's time for a new node to be added to the spec!<span style="color:#888888"><br><br><span>Dave A.</span></span><u></u><u></u></p><div><div><p class="MsoNormal" style="margin-bottom:12.0pt"><br><br><u></u><u></u></p>
<div><p class="MsoNormal">On 2/4/2013 10:46 PM, Tony Parisi wrote:<u></u><u></u></p></div><blockquote style="margin-top:5.0pt;margin-bottom:5.0pt"><p class="MsoNormal" style="margin-bottom:12.0pt">Multiple Shape nodes wouldn't work: that implies multiple meshes (vs. a single mesh with multiple materials). Yes, you end up sharing vertices but the semantic is totally different.<br>
<br>Tony<u></u><u></u></p><div><p class="MsoNormal">On Mon, Feb 4, 2013 at 9:22 AM, Dave A <<a href="mailto:dave@realmofconcepts.com" target="_blank">dave@realmofconcepts.com</a>> wrote:<u></u><u></u></p><div><p class="MsoNormal">
Thanks, but again, this is for Interchange, not so much Runtime.<br>Maybe a proto would be best, assuming the reader can do protos.<br>Actually, I'll just store META data to aid translation.<br>I still think a new Node type would be better.<br>
Also, for interchange, a more semantic way to specify simple shader types like Bump, Bump Specular, etc. would be great. Otherwise, the reader needs to do some AI to figure out what the intent was.<br><br>Cheers<span style="color:#888888"><br>
<br>Dave A </span><u></u><u></u></p><div><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">On 2/3/2013 11:13 PM, Cecile Muller wrote:<u></u><u></u></p></div></div></div><blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div><div><p class="MsoNormal">Hi Dave, <u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><div><p class="MsoNormal">Your second idea is indeed correct: DEF the Coordinate node in the first Shape and USE it <u></u><u></u></p>
</div><div><p class="MsoNormal">in the other Shape, that way you can have a difference Appearance for each submesh.<u></u><u></u></p></div></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">
<u></u> <u></u></p></div><div><div><p class="MsoNormal">For example:<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">#X3D V3.0 utf8<u></u><u></u></p></div><div><p class="MsoNormal">
<u></u> <u></u></p></div><div><p class="MsoNormal">Shape {<u></u><u></u></p></div><div><p class="MsoNormal">appearance Appearance {<u></u><u></u></p></div><div><p class="MsoNormal">material Material {<u></u><u></u></p></div>
<div><p class="MsoNormal">emissiveColor 0 1 0<u></u><u></u></p></div><div><p class="MsoNormal">}<u></u><u></u></p></div><div><p class="MsoNormal">}<u></u><u></u></p></div><div><p class="MsoNormal">geometry IndexedFaceSet {<u></u><u></u></p>
</div><div><p class="MsoNormal">coord DEF all_coord Coordinate {<u></u><u></u></p></div><div><p class="MsoNormal">point [-1 0 0, 0 0 0, 1 0 0, 0 1 0]<u></u><u></u></p></div><div><p class="MsoNormal">}<u></u><u></u></p></div>
<div><p class="MsoNormal">coordIndex [0 1 3 0 -1]<u></u><u></u></p></div><div><p class="MsoNormal">}<u></u><u></u></p></div><div><p class="MsoNormal">}<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div>
<div><p class="MsoNormal">Shape {<u></u><u></u></p></div><div><p class="MsoNormal">appearance Appearance {<u></u><u></u></p></div><div><p class="MsoNormal">material Material {<u></u><u></u></p></div><div><p class="MsoNormal">
emissiveColor 0 0 1<u></u><u></u></p></div><div><p class="MsoNormal">}<u></u><u></u></p></div><div><p class="MsoNormal">}<u></u><u></u></p></div><div><p class="MsoNormal">geometry IndexedFaceSet {<u></u><u></u></p></div><div>
<p class="MsoNormal">coord USE all_coord<u></u><u></u></p></div><div><p class="MsoNormal">coordIndex [1 2 3 1 -1]<u></u><u></u></p></div><div><p class="MsoNormal">}<u></u><u></u></p></div><div><p class="MsoNormal">}<u></u><u></u></p>
</div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">If it's cumbersome, you could have a Script that creates the Shape nodes<u></u><u></u></p>
</div><div><p class="MsoNormal">wrapped in a PROTO to have a more friendly interface.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal">
See you,<u></u><u></u></p></div><div><p class="MsoNormal">Cecile<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">2013/2/1 Dave A <<a href="mailto:dave@realmofconcepts.com" target="_blank">dave@realmofconcepts.com</a>><u></u><u></u></p>
<p class="MsoNormal">Hey all,<br><br>Been a while since I parsed the spec, but is there support for submeshes?<br>You know, where one set of vertices is shared by different poly or triangle lists, and each of those lists<br>
corresponds to a different Appearance?<br><br>Or would I have to create a Group under which I would put Shapes, with the first Shape's geometry containing the coordinate list (and first submesh's indices),<br>then subsequent Shapes would USE that coordinate list, providing their own indices (and Appearances of course)?<br>
<br>Cheers<br><br>Dave A.<u></u><u></u></p></div></div><p class="MsoNormal" style="margin-bottom:12.0pt"><u></u> <u></u></p></div></div><div><pre>_______________________________________________<u></u><u></u></pre><pre>X3D-Public mailing list<u></u><u></u></pre>
<pre><a href="mailto:X3D-Public@web3d.org" target="_blank">X3D-Public@web3d.org</a><u></u><u></u></pre><pre><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><u></u><u></u></pre>
<p class="MsoNormal" style="margin-bottom:12.0pt"><u></u> <u></u></p></div><div><p>No virus found in this message.<br>Checked by AVG - <a href="http://www.avg.com" target="_blank">www.avg.com</a><br>Version: 2013.0.2897 / Virus Database: 2639/6070 - Release Date: 01/31/13<u></u><u></u></p>
</div></blockquote><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal" style="margin-bottom:12.0pt"><br>_______________________________________________<br>X3D-Public mailing list<br><a href="mailto:X3D-Public@web3d.org" target="_blank">X3D-Public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><u></u><u></u></p></div><p class="MsoNormal"><br><br clear="all"><br>-- <br>Tony Parisi                             <a href="mailto:tparisi@gmail.com" target="_blank">tparisi@gmail.com</a><br>
CTO at Large                         <a href="tel:415.902.8002" target="_blank">415.902.8002</a><br>Skype                                     auradeluxe<br>Follow me on Twitter!             <a href="http://twitter.com/auradeluxe" target="_blank">http://twitter.com/auradeluxe</a><br>
Read my blog at                     <a href="http://www.tonyparisi.com/" target="_blank">http://www.tonyparisi.com/</a><br><br>Read my book! <i>WebGL, Up and Running</i><br><a href="http://shop.oreilly.com/product/0636920024729.do" target="_blank">http://shop.oreilly.com/product/0636920024729.do</a><br>
<a href="http://www.amazon.com/dp/144932357X" target="_blank">http://www.amazon.com/dp/144932357X</a><br><br><br><u></u><u></u></p><p>No virus found in this message.<br>Checked by AVG - <a href="http://www.avg.com" target="_blank">www.avg.com</a><br>
Version: 2013.0.2897 / Virus Database: 2639/6070 - Release Date: 01/31/13<u></u><u></u></p></blockquote><p class="MsoNormal"><u></u> <u></u></p></div></div></div></div><p class="MsoNormal" style="margin-bottom:12.0pt"><br>
<br clear="all"><br>-- <br>Tony Parisi                             <a href="mailto:tparisi@gmail.com" target="_blank">tparisi@gmail.com</a><br>CTO at Large                         <a href="tel:415.902.8002" value="+14159028002" target="_blank">415.902.8002</a><br>
Skype                                     auradeluxe<br>Follow me on Twitter!             <a href="http://twitter.com/auradeluxe" target="_blank">http://twitter.com/auradeluxe</a><br>Read my blog at                     <a href="http://www.tonyparisi.com/" target="_blank">http://www.tonyparisi.com/</a><br>
<br>Read my book! <i>WebGL, Up and Running</i><br><a href="http://shop.oreilly.com/product/0636920024729.do" target="_blank">http://shop.oreilly.com/product/0636920024729.do</a><br><a href="http://www.amazon.com/dp/144932357X" target="_blank">http://www.amazon.com/dp/144932357X</a><u></u><u></u></p>
</div></div></div></div><br>_______________________________________________<br>
X3D-Public mailing list<br>
<a href="mailto:X3D-Public@web3d.org">X3D-Public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
<br></blockquote></div><br></div>