[x3d-public] How’s John? What I’m working on next

Joseph D Williams joedwil at earthlink.net
Wed Jul 14 15:11:54 PDT 2021

Not too far off from returning to a topic: Signing.

First needed is a target conformance test. The test should describe in written and printed and sound language message that is performed by a ‘standard’ sender and received for interpretation by a ‘standard’ listener.  How about this one as an example of a standard, widely agreed upon message with a high level of vetting of its content and interpretation?



From: John Carlson
Sent: Wednesday, July 14, 2021 11:33 AM
To: Michalis Kamburelis
Cc: X3D Graphics public mailing list
Subject: Re: [x3d-public] How’s John? What I’m working on next

The advantage of SDNA is that it’s backwards and forwards compatible between different versions of Blender, according to docs.  That can’t be said of the python API.   I don’t know if the blender-file package is backwards and forwards compatible or not.

The main reason to go with SDNA is that there’s a level of introspection not available to the python API, afaik.   One can’t view the inside of C++ classes to pull out values with the python API, afaik.   I don’t know if the python API is introspective or not…i don’t know python that well either.

I fully expect that what I write will be mostly generated/meta.  At least that’s the plan.   If you can show an approach that can be generated using the python API, I’m all ears.   I may even split the output into 400+ files.

I’m not really looking at doing a hand-coded solution at this time.  I’m looking at doing a minimal amount of coding for the largest effect.  I am not capable of reading an extensive API doc.   Something like JavaDoc would be ideal.

I am not specifically targeting X3D (the standards) at this time.  What I’m trying to do is figure out more of a declarative transformer, similar to XSLT for SDNA.   I may attempt at something like DFDL, ANTLR, Rose compiler, or  LLVM IR.   I think we’re all wanting an IR for animated graphics, but there are different goals and constraints for different software, so we keep falling back to partial solutions.

My previously stated goal was UTF-8.  I may make binary mesh and image files.


On Wed, Jul 14, 2021 at 2:44 AM Michalis Kamburelis <michalis.kambi at gmail.com> wrote:
It was last updated in 2017
https://developer.blender.org/source/blender-file/ . There's only a
single developer. TBH this approach is really not the way to export X3D
(or anything else) from Blender, as it is very non-standard. This is
not the way to go, IMO.

If you want to improve Blender -> X3D exporter, then it's really
better to follow the standard approach, approved by Blender devs for
all exporters, and just use the Blender Python API inside Blender --
https://docs.blender.org/api/current/index.html , following my doc
. This approach is standard, maintainable (Blender API exposes all you
need, and Blender devs keep it working), familiar to Python coders in
Blender and accepted by Blender devs (so they'll accept contributions
this way).


śr., 14 lip 2021 o 07:38 John Carlson <yottzumm at gmail.com> napisał(a):
> Does any one have experience with this python package and can recommend it?
> https://pypi.org/project/blender-file/
> On Mon, Jul 12, 2021 at 9:54 PM John Carlson <yottzumm at gmail.com> wrote:
>> My first thought is reading .blend files in c/c++ using SDNA.
>> I’ve heard that .blend files are TLV, which leaves me to believe STEP/EXPRESS might be useful if binary is encoded in hexadecimal.   I will make an informed choice on ARM vs Intel endianness.
>> I have downloaded the latest blender source code.
>> So I will begin by tracking down how open files, and see what Blender does.
>> John
>> On Sat, Jul 10, 2021 at 5:19 PM John Carlson <yottzumm at gmail.com> wrote:
>>> I think Blender needs a JSON, XML, STEP/EXPRESS or python dict full export of .blend files.   I do not know if either Collada or glTF support that.  I will probably start working on a native UTF-8 export for Blender.   I believe that Blender will become more useful and open with a full, human readable export, similar to how NeXT’s .nib format got converted to .xib format.   I think there’s still plenty of room for things like typed arrays in webGL and webgpu.   I’m not opposed to dropping into JavaScript or shading language if they can be parsed with an import tool.
>>> So that’s what I’ll be pursuing.   I don’t think we’ll ever see a good X3D export from Blender unless the Blender team is convinced it’s useful, or if someone starts fresh with the newest Blender API.   I do see usefulness in “outing” the Blender format, and providing an upgrade path for Blender import/export tools.
>>> I’m guessing the final result will be something like STEP.   Alternatively, I may pursue a “class grammar” as popularized by Cameron Browne on the Ludii project.
>>> I hope to protect import/export tool writers from the versionitis of the Blender API.   If you’re a good designer or architect, I welcome your effort on my team.
>>> John
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20210714/e00a3f2c/attachment.html>

More information about the x3d-public mailing list