<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:"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;}
.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;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>I’m running into difficulties with shaders and I don’t know if it’s my code, or the Java SAI.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Here’s the X3D excerpt:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><ComposedShader DEF='ComposedShader' containerField='shaders' language='GLSL'></p><p class=MsoNormal>                    <field name='cubeMap' accessType='inputOutput' type='SFInt32' value='0'/></p><p class=MsoNormal>                    <field name='chromaticDispersion' accessType='inputOutput' type='SFVec3f' value='0.98 1 1.033'/></p><p class=MsoNormal>                    <field name='bias' accessType='inputOutput' type='SFFloat' value='0.5'/></p><p class=MsoNormal>                    <field name='scale' accessType='inputOutput' type='SFFloat' value='0.5'/></p><p class=MsoNormal>                    <field name='power' accessType='inputOutput' type='SFFloat' value='2'/></p><p class=MsoNormal>                    <ShaderPart url='"x3dom.vs"' containerField='parts' type='VERTEX'></p><p class=MsoNormal>                    </ShaderPart></p><p class=MsoNormal>                    <ShaderPart url='"bubbles.fs"' containerField='parts' type='FRAGMENT'></p><p class=MsoNormal>                    </ShaderPart></p><p class=MsoNormal>                    </ComposedShader></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Note the fields are under the ComposedShader and not the ShaderPart.  Do I need to follow the container field up and get the fields to put in the shader part objects?  That’s not how the JSON is produced from the XML afaik (but I haven’t tried recently).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Should I move the fields into the shader part?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On to the next…</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</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:brutzman@nps.edu">Don Brutzman</a><br><b>Sent: </b>Wednesday, November 30, 2016 12:22 AM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a>; <a href="mailto:savage@nps.edu">SAVAGE Research Group</a><br><b>Subject: </b>Re: [x3d-public] announce: X3D Java Scene Authoring Interface(SAI)open source, initial review release</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Gee whiz, you are already at the far horizon!  8)  You will see that they are not yet present or tested in HelloWorldProgram.java since I just got prototypes sorted out.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Will look at it.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On 11/29/2016 8:22 PM, yottzumm@gmail.com wrote:</p><p class=MsoNormal>> Waiting for instructions on how to use IS/ISObject/IS statements.  I’m not sure how to hook them under material, etc.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Thanks,</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> John</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> *From: *Don Brutzman <mailto:brutzman@nps.edu></p><p class=MsoNormal>> *Sent: *Tuesday, November 29, 2016 12:04 PM</p><p class=MsoNormal>> *To: *X3D Graphics public mailing list <mailto:x3d-public@web3d.org></p><p class=MsoNormal>> *Cc: *SAVAGE Research Group <mailto:savage@nps.edu></p><p class=MsoNormal>> *Subject: *Re: [x3d-public] announce: X3D Java Scene Authoring Interface (SAI)open source, initial review release</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Another significant release has been deployed today:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> - Support for prototypes: ProtoDeclare, ProtoInterface/ProtoBody, ExternProtoDeclare, ProtoInstance.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> - Further validation checks, making it hard for programmers to create a broken scene graph.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> - Support for X3D, ClassicVRML and VRML97 file export (.x3d .x3dv .wrl)</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> - "Principle of least surprise" when null values are encountered from author (e.g. clear a field, etc.)</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> - Further unit tests in example program to confirm proper operation of correct and incorrect constructs.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> - Internal package refactoring to improve inheritance, leaving exposed programming API unchanged.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> - Performance looks great, despite complexity am unable to get execution time above "O seconds" - deserves profiling on large models.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Key links:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>                 http://www.web3d.org/specifications/java/X3dJavaSceneAuthoringInterface.html</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>                 http://www.web3d.org/specifications/java/examples</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>                 http://www.web3d.org/specifications/java/javadoc</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Test reports and improvement suggestions welcome.  Have fun with X3D Java!</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> On 10/21/2016 8:19 AM, Don Brutzman wrote:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> Second release is out, the X3D Java SAI Library is now in beta.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> Latest release include autogeneration of concrete classes for field types.  Quite a tricky business because a number of specification definitions are contradictory or simply missing, because the published Java SAI specification was based on X3D v3.0 capabilities.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> Still in collection mode, but have started a text document listing specification problems and potential improvements.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>>     http://www.web3d.org/specifications/java/X3dJavaSpecificationChangesAndIssues.txt</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> Active TODO list, more to follow:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> * In progress. Test concrete field-type classes for SFBool/MFBool through SFNode/MFNode to support value instantiation, including creation of type-checked new values from strings. A number of new data types have been added since X3D version 3.0, extra attention is needed to ensure that new classes and methods consistently support new specification additions. Method stubs need to be implemented (typically adapting source code from the Xj3D implementation).</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> * In progress. Confirm generation of default attribute values and constructors.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> * In progress. Continue testing concrete classes for X3D statements, also confirming that attributes are properly reflected as fields.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> * In progress. Add support for persistent scene-graph comments and comment blocks.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> Initial testing: HelloWorldProgram.java model, online at</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>>     http://www.web3d.org/specifications/java/examples/HelloWorldProgram.java</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> The X3D Object Model is looking very solid.  Changes to X3D specification and schema are automatically integrated in this codebase.  When complete, this will be a big step forward for rigourously maintaining all X3D specifications, quality assurance tools and Web3D Consortium resources completely correct and in synch.  I expect it will be especially helpful when we get to the stage of experimentation with X3D version 4.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> Scrutiny by Java experts on the class structures and design patterns is appreciated.  More work to follow on X3D Java SAI Library, of course, but it looks like all the major building blocks are now in place.  Incremental implementation improvements and TODO capability addition can now proceed.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> As ever, all feedback and comments are welcome.  Have fun with X3D Java!</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> ==================================================================================</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> On 6/27/2016 8:03 AM, Don Brutzman wrote:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> Now available for review: X3D Java Scene Authoring Interface (SAI) Library.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>>     http://www.web3d.org/x3d/stylesheets/java/X3dJavaSceneAuthoringInterface.html</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> The X3D Java Scene Access Interface (SAI) is a strongly typed Java library that provides access to a browser and its contained scene graph. This package contains X3D SAI interfaces that support the X3D Specifications.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> Available products include javadoc, source code, build classes and draft specification annexes.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>>     http://www.web3d.org/x3d/stylesheets/java/javadoc/index.html</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>>     http://www.web3d.org/x3d/stylesheets/java/source/org/web3d/x3d/sai</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>>     http://www.web3d.org/x3d/stylesheets/java/build/org/web3d/x3d/sai</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>>     http://www.web3d.org/x3d/stylesheets/java/draftJavaLanguageBindingAnnexes/Part2/nodeTypeInterfaces.html</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>>     http://www.web3d.org/x3d/stylesheets/java/draftJavaLanguageBindingAnnexes/Part2/nodeInterfaces.html</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> Intended uses include</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> * Current: compiling Java source code for an X3D Script node.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> * Future: support creation of standalone Java applications by providing a Plain Old Java Object (POJO) implementation for X3D.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> * Future: serve as a design template for future autogeneration of similar codebases for ECMAScript, C++/C# and Python.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> Special thanks to Roy Walmsley for X3D Object Model creation and ongoing design discussions.  Further notes about API Codebase Production autogeneration and design considerations appear on the topmost page listed above.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> Work continues on matching autogenerated interfaces to the specification, noting corrections, and testing actual Script code in Java.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> Comments are always welcome.  Have fun with X3D using Java!</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>> ==================================================================================</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> all the best, Don</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> --</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> _______________________________________________</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> x3d-public mailing list</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> x3d-public@web3d.org</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>all the best, Don</p><p class=MsoNormal>-- </p><p class=MsoNormal>Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu</p><p class=MsoNormal>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149</p><p class=MsoNormal>X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>