<html xmlns:v="urn:schemas-microsoft-com:vml" 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=us-ascii"><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:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        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:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:994725643;
        mso-list-type:hybrid;
        mso-list-template-ids:145491402 134807553 134807555 134807557 134807553 134807555 134807557 134807553 134807555 134807557;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:72.0pt;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:108.0pt;
        text-indent:-18.0pt;
        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;
        margin-left:144.0pt;
        text-indent:-18.0pt;
        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;
        margin-left:180.0pt;
        text-indent:-18.0pt;
        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;
        margin-left:216.0pt;
        text-indent:-18.0pt;
        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;
        margin-left:252.0pt;
        text-indent:-18.0pt;
        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;
        margin-left:288.0pt;
        text-indent:-18.0pt;
        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;
        margin-left:324.0pt;
        text-indent:-18.0pt;
        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;
        margin-left:360.0pt;
        text-indent:-18.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Hi,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>At a recent X3D working group meeting we proposed some possible new nodes to provide support for VR displays within X3D. Here is an extract from the minutes:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0cm' type=disc><li class=MsoNormal style='color:#0070C0;mso-list:l0 level1 lfo1'>VR<o:p></o:p></li><ul style='margin-top:0cm' type=circle><li class=MsoNormal style='color:#0070C0;mso-list:l0 level2 lfo1'>Stereo viewpoint, which needs two cameras. The X3D specification only allows one camera, e.g. Viewpoint, which is a bindable node. Contrast here the Viewpoint/OrthoViewpoint nodes, which are perspective and orthographic renderings, respectively.<o:p></o:p></li><li class=MsoNormal style='color:#0070C0;mso-list:l0 level2 lfo1'>Input interfaces, possibly from multiple buttons. For example, TouchSensor, may need to be expanded to permit more types of input.<o:p></o:p></li><li class=MsoNormal style='color:#0070C0;mso-list:l0 level2 lfo1'>Audio – is it good enough. There is no left, right ear dependence, i.e. stereo audio.<o:p></o:p></li><li class=MsoNormal style='color:#0070C0;mso-list:l0 level2 lfo1'>Viewpoint switching – alternative methods of animating viewpoint changes are required. For example, Viewpoint node currently has a <i>jump</i> field, but Fade out/Fade in might be needed.<o:p></o:p></li></ul></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>After that meeting Don and I were talking about this, and came up with an alternative suggestion. This was for the following node:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0cm' type=disc><li class=MsoListParagraph style='margin-left:36.0pt;mso-list:l0 level1 lfo1'>UserInfo<o:p></o:p></li><ul style='margin-top:0cm' type=circle><li class=MsoListParagraph style='margin-left:36.0pt;mso-list:l0 level2 lfo1'>Should this be a bindable node, with its own binding stack, so that only one was active at a time? Then, what about multiple users interacting with the same scene?<o:p></o:p></li><li class=MsoListParagraph style='margin-left:36.0pt;mso-list:l0 level2 lfo1'>It could indicate if the user was needed a stereo rendering, and have attributes for stereo parameters.<o:p></o:p></li><li class=MsoListParagraph style='margin-left:36.0pt;mso-list:l0 level2 lfo1'>It could indicate if the user required stereo audio, having appropriate attributes.<o:p></o:p></li><li class=MsoListParagraph style='margin-left:36.0pt;mso-list:l0 level2 lfo1'>It could have attributes relating to FOV – currently in Viewpoint.<o:p></o:p></li></ul></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This node would not have to be included in a scene. It could be added by the implementation (or modified if present) using SAI techniques. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The node could be added to the Navigation component, perhaps at support level 2, to fit into the immersive profile.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>An example:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0cm' type=disc><li class=MsoListParagraph style='margin-left:36.0pt;mso-list:l0 level1 lfo1'>Let’s imagine a garden scene. We would like to be able to render it in stereo, from the perspective of two different users. The first is human. The second is a bird. The saved scene need not have a UserInfo node, and so could be independent of the user. The implementation would then insert the appropriate UserInfo node into the scene at run time, permitting the scene to be rendered with the desired user properties.<o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>What do you think? Good idea? Bad idea?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>All comments welcome.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>All the best,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Roy<o:p></o:p></p></div></body></html>