<div dir="ltr">Thank you Vince for your prompt and thoughtful reply.<div><br></div><div>The TruncatedCone primitive (or, equivalently, TaperedCylinder) would be straightforward to model based on existing structures, and could be implemented using a TriangleSet, so that all browsers would have little trouble rendering such a thing.</div><div><br></div><div>InfinitePlane, on the other hand, is not so similar to existing structures. Basing InfinitePlane on ObscenelyLargeRectangle would be imperfect, as would basing it on a half-invisible cube map. Perhaps only a very specialized rendering implementation would be appropriate for such a primitive.</div><div><br></div><div>At this point I'd like to begin experimenting with existing browsers that support X3D. Are there any written in python?</div><div><br></div><div>Regards,</div><div>Christopher</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 14, 2017 at 10:10 AM, <a href="mailto:vmarchetti@kshell.com">vmarchetti@kshell.com</a> <span dir="ltr"><<a href="mailto:vmarchetti@kshell.com" target="_blank">vmarchetti@kshell.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Chris<br>
<br>
Your work sounds interesting, and thanks for your interest in X3D.<br>
<br>
There is no node in X3D that already represents a truncated cone, and I cannot come up with a better combination than your idea of a cone combined with a clipping plane. However, it may be useful for your project to step back and exploit some of the advantages of X3D. It is an open standard with free (available at no cost) specification, and a number of open-source viewers available; for example Xj3D and FreeWRL. This suggests another development route:<br>
<br>
1. Develop your own specification for the truncated cone, perhaps modeled on Cone [ <a href="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geometry3D.html#Cone" rel="noreferrer" target="_blank">http://www.web3d.org/<wbr>documents/specifications/<wbr>19775-1/V3.3/Part01/<wbr>components/geometry3D.html#<wbr>Cone</a> ] but with additional fields to define the truncation.<br>
<br>
2. Modify an open source browser that will trap your custom node and render it with your new renderers within an X3D scene.<br>
<br>
Of course, you now have a node feature that only you can use, because only you have an X3D viewer for it. If your purpose is to explore and develop new rendering techniques then X3D will have served as your prototyping environment. However, if your goal is to allow others to specifically use a TruncatedCone node, then you may want to submit it to the Web3D Consortium as a proposed extension. It would gain much likelier acceptance if it did not depend on your specific rendering implementation, so a suggested route would be for you (or perhaps someone else) to develop an additional TruncatedCone implementation using X3D's prototyping mechanism ( <a href="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/concepts.html#PROTOinterfacedeclsemantics" rel="noreferrer" target="_blank">http://www.web3d.org/<wbr>documents/specifications/<wbr>19775-1/V3.3/Part01/concepts.<wbr>html#<wbr>PROTOinterfacedeclsemantics</a> ), and based on existing X3D nodes such as TriangleSet constructed using a script.<br>
<br>
The same consideration and idea would hold for rendering an InfinitePlane node.<br>
<br>
Please continue to post your ideas and questions to the mailing list; and we would also welcome your membership in the Web3D Consortium where you would be able to participate in regular teleconferences where proposed extensions to X3D are discussed.<br>
<br>
With Regards<br>
<br>
Vince Marchetti<br>
Web3D Consortium<br>
<div><div class="h5"><br>
> On Sep 14, 2017, at 11:48 AM, Christopher Bruns <<a href="mailto:cmbruns@rotatingpenguin.com">cmbruns@rotatingpenguin.com</a>> wrote:<br>
><br>
> I'd appreciate some advice about how to use the X3D format.<br>
><br>
> I'm developing some renderers that use non-mesh display methods for certain parametric primitives, including spheres, cylinders, truncated cones, and infinite planes. And I'm considering using X3D as my scene file format. I'm pleased to see that parametric representations for spheres and cylinders, at least, are available in X3D. I suspect that I could represent parametric truncated cones using either 1) a cone primitive plus a clip plane, or 2) a cylinder with a projective transformation. But I would prefer a more direct semantic representation of a truncated cone. Is there a way to explicitly represent a parametric truncated cone?<br>
><br>
> A possibly more difficult problem is representing an infinite plane as a scene object. I wonder if perhaps some sort of degenerate NURBS surface might represent an infinite plane? Alternatively I could represent a plane using a single vertex plus a normal vector, along with some sort of annotation. Is there a more direct way to represent an infinite plane in X3D?<br>
><br>
</div></div>> ______________________________<wbr>_________________<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" rel="noreferrer" target="_blank">http://web3d.org/mailman/<wbr>listinfo/x3d-public_web3d.org</a><br>
<br>
</blockquote></div><br></div>