<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>X3D4 and X3DUOM and JSON:</p>
<p>Good news, this patch has been accepted! We should be able to
use it after acceptance testing!</p>
<p>Reminder, you should be able to use either/both "back" and
"backTexture," "bottom" and "bottomTexture," etc. in your X3D4
ComposedCubeMapTexture's. The correct choice of output will depend
on your version of X3D that you are outputting from X3DJSAIL. I
will be testing X_ITE and X3DOM current (latest, dev) versions
with X3DJSONLD soon.<br>
</p>
<p>Don, thank you for accepting the patch, and being patient with my
exposition of it. Sometimes, things have to be done in person.<br>
</p>
<p>This should probably affect all XML and JSON output (and maybe
more) from X3DJSAIL, with regards to MultiTextures (at least the
6-sided ones). MFNodes still use the "position() = 1" test case
(Don, please confirm), as I don't know if I have any examples of
that.</p>
<p>Heads up to X3DOM folks--hope you fix the code to accept X3D4
synonyms and the fields name changes! I'll have to do some
testing to see if this has been fixed in X3DJSONLD, which uses the
X3DOM dev version.</p>
<p>Looks like a new version of X3DUOM is out, and another possibly
soon! So far, no changes to JSON Schema. JSON schema has already
implemented changes for synonyms, so your X3DJSON validation
should work, assuming you've updated to the latest 4.0 JSON schema
(found in X3DJSONLD/src/main/schema/)</p>
<p>=============================================</p>
<p>Python:<br>
</p>
<p>If you're trying to validate X3D JSON in your Python programs,
remember that there's a validate.py available in
X3DJSONLD/src/main/python. This is pure python code--the JSON
schema is converted to python, so instead of validation errors,
you'll probably get some weird python error. I pretty much prefer
Ajv's error reports, but I'm used to them. This is brought to you
by fastjsonschema, me, and Jeff H.</p>
<p>We'll be considering what approaches we'll take for reading
encodings into x3d.py programs. For now, consider some version
of X3DJSAIL-Python, which uses the X3DJSAIL API (not the x3d.py
version). X3DJSAIL with python scripting has been deprecated in
favor of x3d.py. To achieve an XML to python conversion that will
use x3d.py, try using X3dToPython.xslt found on the sourceforge
x3d project site.</p>
<p>**********This may be an opportunity for some in our python
community to step up and provide appropriate encoding readers.<br>
</p>
<p>===================================================<br>
</p>
<p>C/C++/C#:</p>
<p>I'll probably be writing the conversions between X3D JSON and
C/C++/C# using templates of my JavaScript code, so-called
"Serializers." I'm currently working on a Dart version, but if I
can get a bit of assistance on Dart, I may be able to move my
efforts to C/C++/C# examples.</p>
<p>NOTE****************</p>
<p>The C bindings delivered to sourceforge currently contain what
look like C++ classes in their .h files. I don't think this is
correct. Is there an update?</p>
<p>So probably I'll be working with C++ examples first.<br>
</p>
<p>Onward!<br>
</p>
<p>John<br>
</p>
<div class="moz-cite-prefix">On 7/2/21 7:29 AM, John Carlson wrote:</div>
<blockquote type="cite"
cite="mid:58effd48-f658-113b-832d-bcae43ce4415@gmail.com">
<p>x3d/stylesheets$ svn diff
CreateX3dSceneAccessInterfaceJava.xslt <br>
Index: CreateX3dSceneAccessInterfaceJava.xslt<br>
===================================================================<br>
--- CreateX3dSceneAccessInterfaceJava.xslt (revision 32276)<br>
+++ CreateX3dSceneAccessInterfaceJava.xslt (working copy)<br>
@@ -12960,13 +12960,13 @@<br>
<xsl:text><br>
String correctedContainerField;</xsl:text><br>
<xsl:for-each
select="InterfaceDefinition/field[string-length(@synonym) >
0][@type = 'SFNode']"><br>
- <xsl:if test="(position() = 1)"><br>
+ <!--xsl:if test="(position() = 1)"--><br>
<xsl:text
disable-output-escaping="yes"><![CDATA[<br>
if (hasAncestorX3D() &&
findAncestorX3D().getVersion().startsWith("3"))<br>
correctedContainerField =
"]]></xsl:text><xsl:value-of
select="@synonym"/><xsl:text>";<br>
else correctedContainerField = "</xsl:text>
<xsl:value-of select="@name"/><xsl:text>";<br>
</xsl:text><br>
- </xsl:if><br>
+ <!--/xsl:if--><br>
<xsl:variable
name="CamelCaseName"><!-- upper camel case --><br>
<xsl:value-of
select="translate(substring(@name,1,1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/><br>
<xsl:value-of
select="substring(@name,2)"/></p>
<p><br>
</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 7/2/21 7:25 AM, Holger Seelig
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:DB9D8679-1625-41D5-80E4-3915CDB153E3@yahoo.de">
<div class="">Updated X_ITE to have X3D V4 field names for
ComposedCubeMapTexture.</div>
<br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">Am 02.07.2021 um 13:51 schrieb John Carlson
<<a href="mailto:yottzumm@gmail.com" class=""
moz-do-not-send="true">yottzumm@gmail.com</a>>:</div>
<br class="Apple-interchange-newline">
<div class="">
<div dir="auto" class="">X3D4 added Texture to back,
front, … container fields in XML. See X3DUOM 4.0,
“backTexture” entries under ComposedCubeMapTexture.
back, front, … are now synonyms for backTexture,
frontTexture, etc. just search for synonym may be
easier.</div>
<div dir="auto" class=""><br class="">
</div>
<div dir="auto" class="">I can’t change to back, front, …
because my Java, NodeJs and Python serializers do not
convert back to setBackTexture, instead they use
setBack. Guess what? X3DJSAIL does not have a setBack
with a signature I want. Yes, I do have ways to
override the method I haven’t deployed in
mapToMethod2.js</div>
<div dir="auto" class=""><br class="">
</div>
<div dir="auto" class="">Not only that, X3DOM expects
back, front, etc.</div>
<div dir="auto" class=""><br class="">
</div>
<div dir="auto" class="">So is someone trying to piss me
off? Idk. I think I might be the only person who
actually uses ComposedCubeMapTexture!</div>
<div dir="auto" class=""><br class="">
</div>
<div dir="auto" class="">Thanks for the updates. I will
go to sleep less upset.</div>
<div dir="auto" class=""><br class="">
</div>
<div dir="auto" class="">John</div>
<div class=""><br class="">
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Fri, Jul 2, 2021
at 6:02 AM Holger Seelig <<a
href="mailto:holger.seelig@yahoo.de" class=""
moz-do-not-send="true">holger.seelig@yahoo.de</a>>
wrote:<br class="">
</div>
<blockquote class="gmail_quote">
<div class="">
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Attached flower.zip with shaders
updated to WebGL2 also have a look at <a
href="https://webgl2fundamentals.org/webgl/lessons/webgl1-to-webgl2.html"
target="_blank" class=""
moz-do-not-send="true">https://webgl2fundamentals.org/webgl/lessons/webgl1-to-webgl2.html</a> how
to WebGL to WebGL2.</div>
<div class="">Also updated flowerproto.json.
ComposedCubeMap fields are actually back, front,
… not backTexture, frontTexture, …</div>
<div class=""><br class="">
</div>
<div class="">Best regards,</div>
<div class="">Holger</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
<div class=""><br class="">
</div>
</div>
</div>
<div class="">
<div class="">
<div class="">
<blockquote type="cite" class="">
<div class="">Am 02.07.2021 um 11:23 schrieb
John Carlson <<a
href="mailto:yottzumm@gmail.com"
target="_blank" class=""
moz-do-not-send="true">yottzumm@gmail.com</a>>:</div>
<br class="">
</blockquote>
</div>
</div>
</div>
<div class="">
<div class="">
<div class="">
<blockquote type="cite" class="">
<div class="">
<div dir="auto" class="">I just looked at
the the flowers.xhtml page, and neither
the fragment nor the vertex shader are
working in X_ITE (should be similar to
X3DOM.)</div>
<div class=""><br class="">
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On
Fri, Jul 2, 2021 at 12:17 AM John
Carlson <<a
href="mailto:yottzumm@gmail.com"
target="_blank" class=""
moz-do-not-send="true">yottzumm@gmail.com</a>>
wrote:<br class="">
</div>
<blockquote class="gmail_quote">
<div class="">
<p class="">1. Pages like: <a
href="https://coderextreme.net/X3DJSONLD/src/main/html/flowers.xhtml"
target="_blank" class=""
moz-do-not-send="true">https://coderextreme.net/X3DJSONLD/src/main/html/flowers.xhtml</a>
are half-broken with X_ITE
objects showing up in white<br
class="">
</p>
<p class="">2. Apparently, X_ITE
has upgraded it shading language
to WebGL2/OpenGL ES 3.0</p>
<p class="">3. I don't want to go
backwards and try to support an
older version of X_ITE</p>
<p class="">4. X3DOM has some
problems with X3D4
containerField non-synonyms (not
in shown in above example).</p>
<p class="">This works in X3DOM
(note 6 misspelled
containerFields--they use
synonyms in X3D4):<br class="">
</p>
<span class=""></span>
<pre id="m_-8040978024055918942m_-7486909418376432302line1" class=""><span class=""><span id="m_-8040978024055918942m_-7486909418376432302line48" class=""></span> </span><span class=""><<span class="">ComposedCubeMapTexture</span> <span class="">DEF</span>="<a class="" moz-do-not-send="true">texture</a>"></span><span class="">
<span id="m_-8040978024055918942m_-7486909418376432302line49" class=""></span> </span><span class=""><<span class="">ImageTexture</span> <span class="">url</span>='<a class="" moz-do-not-send="true">"../resources/images/all_probes/stpeters_cross/stpeters_back.png" "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_back.png"</a>' <span class="">containerField</span>="<a class="" moz-do-not-send="true">back</a>"<span class="">/</span>></span><span class="">
<span id="m_-8040978024055918942m_-7486909418376432302line50" class=""></span> </span><span class=""><<span class="">ImageTexture</span> <span class="">url</span>='<a class="" moz-do-not-send="true">"../resources/images/all_probes/stpeters_cross/stpeters_bottom.png" "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_bottom.png"</a>' <span class="">containerField</span>="<a class="" moz-do-not-send="true">bottom</a>"<span class="">/</span>></span><span class="">
<span id="m_-8040978024055918942m_-7486909418376432302line51" class=""></span> </span><span class=""><<span class="">ImageTexture</span> <span class="">url</span>='<a class="" moz-do-not-send="true">"../resources/images/all_probes/stpeters_cross/stpeters_front.png" "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_front.png"</a>' <span class="">containerField</span>="<a class="" moz-do-not-send="true">front</a>"<span class="">/</span>></span><span class="">
<span id="m_-8040978024055918942m_-7486909418376432302line52" class=""></span> </span><span class=""><<span class="">ImageTexture</span> <span class="">url</span>='<a class="" moz-do-not-send="true">"../resources/images/all_probes/stpeters_cross/stpeters_left.png" "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_left.png"</a>' <span class="">containerField</span>="<a class="" moz-do-not-send="true">left</a>"<span class="">/</span>></span><span class="">
<span id="m_-8040978024055918942m_-7486909418376432302line53" class=""></span> </span><span class=""><<span class="">ImageTexture</span> <span class="">url</span>='<a class="" moz-do-not-send="true">"../resources/images/all_probes/stpeters_cross/stpeters_right.png" "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_right.png"</a>' <span class="">containerField</span>="<a class="" moz-do-not-send="true">right</a>"<span class="">/</span>></span><span class="">
<span id="m_-8040978024055918942m_-7486909418376432302line54" class=""></span> </span><span class=""><<span class="">ImageTexture</span> <span class="">url</span>='<a class="" moz-do-not-send="true">"../resources/images/all_probes/stpeters_cross/stpeters_top.png" "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_top.png"</a>' <span class="">containerField</span>="<a class="" moz-do-not-send="true">top</a>"<span class="">/</span>></span><span class="">
<span id="m_-8040978024055918942m_-7486909418376432302line55" class=""></span> </span><span class=""></<span class="">ComposedCubeMapTexture</span>>
However, containerFields with Texture trailing the side do not.
<u class=""><b class="">We need more work on backTexture, frontTexture, ... containerFields in X3DOM for X3D4. I use this quite a bit in my code.</b></u><u class=""><b class="">
</b></u>
5. <u class=""><b class="">How do I implement chromatic aberration in X3D?</b></u> (See PlayCanvas in flowers.xhtml above). Preferably, not dropping into a shading language, so I can use an enduring standard.
</span>
<span class=""></span><span class=""></span></pre>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
<div class="">
<div class="">
<div class="">
<blockquote type="cite" class="">
<div class="">
_______________________________________________<br class="">
x3d-public mailing list<br class="">
<a href="mailto:x3d-public@web3d.org"
target="_blank" class=""
moz-do-not-send="true">x3d-public@web3d.org</a><br
class="">
<a
href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org"
target="_blank" class=""
moz-do-not-send="true">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br
class="">
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</blockquote>
</blockquote>
</body>
</html>