Coder Social home page Coder Social logo

Comments (15)

pjcozzi avatar pjcozzi commented on June 1, 2024

I struggled with this, but our guiding principle is that glTF is for rendering, so it doesn't carry the same payload that COLLADA does.

I can justify including copyright or displayText/displayImage because when I implement a glTF renderer, I may be required to display credits for the model just like I do for other datasets. However, I don't see how authoring_tool, etc. fit the rendering use case. If an application wants it, perhaps an online model repo, it can include it in an extra property. When a glTF asset is deployed for a game, for example, the game doesn't care about the authoring_tool.

Remember, glTF strives to balance simplicity and completeness. We strive not to bloat the schema. We only add features that are generally useful, and allow the extensibility needed for assets used in different vertical markets. If we start to think, for example, than we could write an optimizer that removes unnecessary parts of glTF for deployment, e.g., authoring_tool, then we are suddenly turning glTF back into COLLADA.

Despite my personal need for geographic_location, I can also make the same argument here (despite my previous arguments). Need to think through this more.

from gltf.

pjcozzi avatar pjcozzi commented on June 1, 2024

We should also gave a property to specify which converter is being used to produce a given glTF asset.

Potentially useful for debugging

from gltf.

RemiArnaud avatar RemiArnaud commented on June 1, 2024

this is a very small footprint, so just include it all.

copyright, description, author, usage, keywords are definitely really
useful. Those files will end-up on a web server, and will be indexed for
search. copyright, author should always be in any media file.
for debugging, have the full content pipeline chain described. Not only
copy the information you get from COLLADA header, but aslo add the
information from the COLLADA2JSON converter, including version,
parameters....

from gltf.

tparisi avatar tparisi commented on June 1, 2024

I'm with @RemiArnaud on this one. The payload is tiny so there are negligible performance concerns. Why not have all the info there, it could be valuable for all the reasons stated above.

from gltf.

pjcozzi avatar pjcozzi commented on June 1, 2024

Starting to sound like a kitchen sink, right?

It's not just about payload; it's about spec and schema complexity. glTF is focused on the runtime. How many of these fields are included in runtime formats already used in engines? Other than the converter tool reference for debugging, probably none.

I'm not that opposed, but this clearly goes against what glTF strives for. I laid out the argument above. What is the runtime use-case for properties beyond copyright/displayText/displayImage and authoringTool (or whatever)? All these other fields fit the market for a model repo, which could trivially put these in an extra property so joe-game-engine-developer doesn't need to think about them ever.

from gltf.

RemiArnaud avatar RemiArnaud commented on June 1, 2024

I don't see how this will impact anybody. Just do not look at it if you don't want to.

from gltf.

tparisi avatar tparisi commented on June 1, 2024

Good counter-argument Patrick. Sigh now I'm on the fence. Sorry to be lame but I guess I don't care too much... ?

from gltf.

fabrobinet avatar fabrobinet commented on June 1, 2024

IMO the essential aspect of asset for us is to track where it comes from.
So I would put in there for now just converter informations and copyright.

Then wait for developers input, right here.

from gltf.

pjcozzi avatar pjcozzi commented on June 1, 2024

To recap, for now we will:

  • Keep copyright.
  • Add generationTool or whatever for the converter info
  • Drop geographicLocation as I suggested above.

Users are free to use the extra property, of course, and we will reconsider others based on community feedback.

from gltf.

fabrobinet avatar fabrobinet commented on June 1, 2024

sounds good.
yes generationTool or just generator ?..

from gltf.

fabrobinet avatar fabrobinet commented on June 1, 2024

I just added asset with generator, to be refined.

from gltf.

pjcozzi avatar pjcozzi commented on June 1, 2024

I suggest we close this for the draft 1.0 spec.

from gltf.

pjcozzi avatar pjcozzi commented on June 1, 2024

No additional schema update needed for 1.0. See https://github.com/KhronosGroup/glTF/blob/spec-1.0/specification/schema/asset.schema.json

from gltf.

 avatar commented on June 1, 2024

I believe you dropped an element of the initial argument: "Convert kml/kmz orientation and scale to a transform." I'm using GIS software to convert shapefiles into buildings for CesiumJS. Unfortunately, when exporting the model, the software places the unit scaling in the kml instead of creating properly scaled geometry. Seeing as kml/kmz and collada are such close format friends, I feel it's worth accounting for the Scale factor at least.

from gltf.

pjcozzi avatar pjcozzi commented on June 1, 2024

@tpendergrass the glTF asset should always be in meters, which is also what Cesium expects. If you think there is a bug in COLLADA2GLTF or Cesium, please submit a bug in the corresponding repo with sample data.

from gltf.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.