<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1679499879;
        mso-list-type:hybrid;
        mso-list-template-ids:-536173804 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>First, unless you wish to deal with an entirely interactive graphical interface, then I think sooner or later in development of realtime/virtualtime visualization and interaction tools you are developing, you will want to actually read and edit some parts of a x3d text file called the user code. This authortime user code documents the scene and tells the runtime what to produce and how to present and interact with parent or peer or child environemnts. </p><p class=MsoNormal>This need to read may be because the authoring and publishing tools you use do not provide access to the level of fidelity you want so you may need to just reach in and finetune some details, or to create all or part of the scene from real scratch by hand using a most simple text editor, maybe wish for human-readable documentation of your work, or to be able to carry common best practice realtime graphics data from one graphics tool you use to another. </p><p class=MsoNormal> … </p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:iamhereintheworld@gmail.com">iam here</a><br><b>Sent: </b>Tuesday, January 15, 2019 12:06 AM<br><b>To: </b><a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a><br><b>Subject: </b>[x3d-public] Beginner questions</p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>Hi,</p></div><div><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>I am new to this whole X3D thing, so had a couple of questions:</li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The whole x3d thing seems to be continued support for a free and open way to create and document realtime interactive simulations. X3d provides a model for authortime scene structure and syntax plus a model for runtime scene presentation and interaction. </p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>> 1) Where does X3D "fit in" in the whole 3D-on-the-web thing? The other things here include CSS 3D transforms, WebGL (which, as I understand it, will soon become WebGPU), and just....drawing on a <canvas> with your own Javascript code, am I correct? So - what exactly *IS* X3D?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The longtime goal of VRML and X3D is human-readable documentation of the basic stuff needed for realtime interactive graphics run as a ‘standalone’ 3D web browser, or as an object in html, or just treated as ordinary html. The basic stuff is geometry, animation, and interaction. </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So, if you have developed some work in most any commercial or free 3D authoring system then it should be possible to transport that work into x3d form. If you can do that, then there is a very simple way to show that using www html5 using X3DOM. </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If you haven’t any prior work in computer graphics then, the stuff is used to create a scene from various geometries and environments that the author creates, and can also be realistically vizualized and interacted with using various human interface tools. You create a 3D scene that does what you want, then instead of like in the html browser that takes 2D inputs and produces 2D screen pixels, the 3D browser creates the 3D scene, looks at it from the viewpoint you define, then creates the 2D screen pixels from that. The 3D geometry is created from from individual points in xyz space that are connected into polygons that are connected together to form 3D surfaces. Textures and lights you define are applied and basically, the technology is advanced to where you pretty much get what you gave it. </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The plan of VRML and X3D is to provide a detailed open and free description of the user code and the runtime by describing data structures and event systems that have been proven to be well developed best practices. The result is that current commercial authoring and production systems may deal with more advanced or proprietary features not included in X3D.  </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div><div><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>2) What is the connection between X3D and glTF? glTF is just a model format, right? So - is X3D capable of "drawing" glTF models or something, with Javascript?</li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So what part of gltF do you wish to use? It seems that generally, for geometry and animation data, yes it is transportable to and from x3d if you know what you are transporting. The glTF serves a special purpose as a concise minimally structured way to transmit data for a part of a feature between somebody who knows exactly what they are sending to someone who knows exactly what they are receiving. </p><p class=MsoNormal>That is also true in X3D but the syntax of x3d is also aimed at readable authortime where you may consider glTF more as aimed at contributing to the optimized runtime.  </p><p class=MsoNormal><o:p> </o:p></p></div><div><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>3) What is X3D's connection to VRML? Is it the successor? What does that mean, exactly?</li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>What did it mean for VRML to be originator?  Do you want to do 3D graphics then if you learn the basics for vrml/x3d then it is same everywhere. I mean it just depends upon what you want to do with it, x3dthe </p></div><div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>It means x3d knows all about vrml and has developed in a way that can integrate cleanly into the gtnl5 www. </p><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>4) Is it possible to make GAMES, or other, interactive 3D, in it? eg. like Quake or something, when the "up" key is pressed, it has to go *forward* - can X3D do that??</li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Why not, you have to look at the api of the actual runtime you are using. IF playing DOOM, it is much better to steer with mouse of joystick, but an optimized standalone game engine may do it better than if the 3D player embedded in an html document. </p><p class=MsoNormal><o:p> </o:p></p></div><div><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>5) I heard that it's possible to do *character animation* in X3D, ie. you can tamper with the mesh of say, a man, in Javascript  - how do I do that? Is there information about this in the Don Brutzman and Leonard Daly book? (thanks for your help with my previous query, btw, Don! :) )</li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Now we have to be getting to the point where you actually fire up a 3d player of some kind and look at some examples. </p><p class=MsoNormal><o:p> </o:p></p></div><div><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>6) And finally, I've heard about the new Nvidia cards which do Realtime Raytracing - is it possible to have photoreal graphics inside a web browser by using X3D?</li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>As that technology develops the X3d might be able to add some scene parameters that describe realtime raytracing, which may be the same as raytracing in not realtime, like if you were in some tool making a video and it didn’t really  matter how long it took to create the frame. </p><p class=MsoNormal><o:p> </o:p></p></div><div><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Ok, that's it. Hope I haven't bugged you too much with my questions :)</li></ul></div><div><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Thanks for you guys' help.</li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’d say the next step Is up to you. You asked more questions than I did when I first needed/wanted free realtime interactive 3D as provided by vrml. It was, by then, fairly easy to get running standalone in windows or in two or three big html browsers. Tell about what you want (a game to navigate with keystrokes? then what do you need to show an touch) to do (and some experiences with x3d or 3D in general and I can relate more. </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Good Luck, </p><p class=MsoNormal>Joe</p><p class=MsoNormal><o:p> </o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>