KhronosGroup / glTF

glTF – Runtime 3D Asset Delivery
Other
7.15k stars 1.14k forks source link

Who's working on open-source glTF 2.0 projects? #867

Closed pjcozzi closed 7 years ago

pjcozzi commented 7 years ago

Please leave a comment on what you are working on so the community can best focus our efforts on rolling out glTF 2.0!

Contributions to all projects are welcome and much appreciated. Please coordinate with the devs listed below, and we'll keep this issue updated.

Tools

Project Devs Status Notes
COLLADA2GLTF @lasalvavida In progress, https://github.com/KhronosGroup/COLLADA2GLTF/pull/20 Code review and testing appreciated
obj2gltf @lilleyse Not started, https://github.com/AnalyticalGraphicsInc/obj2gltf/issues/35 Contributions encouraged
gltf-pipeline @lasalvavida, @moneimne In progress, https://github.com/AnalyticalGraphicsInc/obj2gltf/issues/35
glTF Validator @lexaknyazev and @BeardedGnome In progress
batchgltf @feiss In progress Batch COLLADA conversion
wetzel @HowardWolosky In progress, https://github.com/AnalyticalGraphicsInc/wetzel/pull/4

Blender

Project Devs Status Notes
Khronos Blender exporter https://github.com/KhronosGroup/glTF-Blender-Exporter
Blender exporter https://github.com/Kupoman/blendergltf
Blender importer @ksons In progress, https://github.com/ksons/gltf-blender-importer

Unity

Project Devs Status Notes
Unity exporter @AurL, @PadreZippo, and Microsoft In progress (original) https://github.com/tparisi/Unity-glTF-Exporter, (fork) https://github.com/sketchfab/Unity-glTF-Exporter,
Unity importer @robertlong In progress Seeking collaborators

Unreal

Project Devs Status Notes
Unreal exporter @cedricpinson / Sketchfab Not started?

JavaScript engines

Project Devs Status Notes
three.js @takahirox, @donmccurdy Stable
BabylonJS @bghgary Stable, https://github.com/BabylonJS/Babylon.js/tree/master/loaders/src/glTF
Cesium @lasalvavida In progress, https://github.com/AnalyticalGraphicsInc/cesium/pull/4808
instant3Dhub / instantUV @mlimper In progress
xeogl @xeolabs In progress
PEX @vorg In progress
grimoirejs-gltf @kyasbal-1994 In progress, https://github.com/GrimoireGL/grimoirejs-gltf/issues/13
osg.js @cedricpinson, @jtorresfabra In progress

C/C++, C#, and Vulkan Loaders

Project Devs Status Notes
tinygltfloader (renamed to tinygltf) @cedricpinson, @AurL, and Microsoft In progress, https://github.com/sketchfab/tinygltfloader https://github.com/syoyo/tinygltfloader/issues/16
C# Loader @BeardedGnome In progress https://github.com/KhronosGroup/glTF-CSharp-Loader/pull/1
VulKan ToolS @McNopper In progress Also Blender -> VKTS -> glTF
Laugh Engine @jian-ru In progress
yocto-gl @xelatihy In progress Included OBJ to/from glTF
AssetKit @recp In progress Import/export/render with libgk
glTF2-loader in Lugdunum3D @Sumenia and @saveman71 In progress
gltfpp @mmha In progress Plans for WebAssembly

Rust

Project Devs Status Notes
gltf loader @alteous In progress
gltf-viewer @bwasty In progress

Ada 2012

Project Devs Status Notes
Orka @onox In progress OpenGL 4.5 rendering engine

Samples, docs, and other goodness

Project Devs Status Notes
Sample models @lasalvavida In progress Contributions encouraged
WebGL-PBR @moneimne In progress, https://github.com/moneimne/WebGL-PBR/issues/1 Code review and testing appreciated
Overview / Reference Card @javagl In progress, #761
Tutorial series @javagl Draft Please review
PBR tutorial @moneimne Draft Please review
gltf-typescript-generator @robertlong In progress
TGen @mlimper In progress Simple C++ Tangent Generator
gltf-vscode @emackey In progress https://github.com/KhronosGroup/glTF/issues/867#issuecomment-289024258
gltf-test 2.0 @cx20 In progress How well do engines support glTF 2.0?

TODO


Also, see

McNopper commented 7 years ago

You can add VulKan ToolS to the list of exporters as well: Exporting from Blender to own VKTS scene format. From this proprietary format, the library can encode to glTF 2.0.

xelatihy commented 7 years ago

If you want you can add yocto_gltf to the C++ tools. Already support current 2.0 Draft, but I would not like to call it "released" till the spec is.

https://github.com/xelatihy/yocto-gl

xelatihy commented 7 years ago

My students and I are also working on semantic, full-scene gltf diff/merge tool.

xeolabs commented 7 years ago

I'm just taking a couple of weeks break from open source work, so will fix up xeogl's glTF 2.0 support in a couple of weeks.

On Fri, Mar 17, 2017 at 6:45 PM, Fabio Pellacini notifications@github.com wrote:

My students and I are also working on semantic, full-scene gltf diff/merge tool.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/KhronosGroup/glTF/issues/867#issuecomment-287424242, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFEnOXqi3d2RsJQAmnfyjRKr6R7vcPvks5rmsbEgaJpZM4MZfXu .

-- Lindsay Kay http://xeolabs.com

xelatihy commented 7 years ago

Finally, again in case you care, I have a working OBJ -> glTF and back conversion tool. Again, let us call it work in progress until the glTF 2.0 is finalized and materials are finalized (materials are the real issue here).

pjcozzi commented 7 years ago

Thanks @xelatihy, I added yocto-gl.

My students and I are also working on semantic, full-scene gltf diff/merge tool.

Can't wait to see this!!!


@xeolabs hope you have a great break!


@McNopper I added VulKan ToolS above. Impressive progress by the way!

recp commented 7 years ago

I'm workig on AssetKit (https://github.com/recp/assetkit), not started working on glTF but will asap. It is C (in the future C++ wrappers may be written). It will full support COLLADA, glTF specs and tools for converting them to another formats (runtime + commandline tools). There are also renderer for this lib called libgk (In progress)

/cc @pjcozzi

pjcozzi commented 7 years ago

@recp great project! Added above.

robertlong commented 7 years ago

Just made a quick script to generate a TypeScript interface from the current GLTF 2.0 JSON Schema. It may be of use to someone.

https://github.com/robertlong/gltf-typescript-generator

pjcozzi commented 7 years ago

Thanks @robertlong, added above!

pjcozzi commented 7 years ago

Added TGen by @mlimper above via https://github.com/KhronosGroup/glTF/issues/812#issuecomment-288210117

pjcozzi commented 7 years ago

Added gltf-vscode by @emackey above.

alteous commented 7 years ago

Hi, we're working on a Rust loader for the 2.0 spec as part of the gltf crate.

pjcozzi commented 7 years ago

Thanks @alteous, added above.

emackey commented 7 years ago

For gltf-vscode, there is currently a branch named gltf2.0 where I have swapped out the JSON schema validation from 1.0 to draft 2.0. When time permits I hope to get a single extension able to auto-detect or at least user-select a schema, without making separate 1.0 and 2.0 extensions that are mutually exclusive.

Update May 2017: The gltf2.0 branch was merged to master and published. See new comment below.

pjcozzi commented 7 years ago

@emackey linked to your comment in the table above.

donmccurdy commented 7 years ago

batchgltf by @feiss would be a good addition here.

feiss commented 7 years ago

thanks don! Although it is currently using "old" collada2gltf, I will update it as soon as a binary for 2.0 is ready

pjcozzi commented 7 years ago

Thanks @donmccurdy @feiss, added above.

emackey commented 7 years ago

@pjcozzi The BabylonJS link is broken. The correct link is: https://github.com/sbtron/BabylonJS-glTFLoader

bghgary commented 7 years ago

@pjcozzi The BabylonJS link is broken. The correct link is: https://github.com/sbtron/BabylonJS-glTFLoader

That's our repo for testing purposes. The BabylonJS loader source is now in BabylonJS master here: https://github.com/BabylonJS/Babylon.js/tree/master/loaders/src/glTF

You can get the compiled version here: https://github.com/BabylonJS/Babylon.js/tree/master/dist/preview%20release/loaders

pjcozzi commented 7 years ago

Thanks @emackey @bghgary! Updated.

cx20 commented 7 years ago

@pjcozzi I am creating a 2.0 branch of gltf-test repository . Compare WebGL-based glTF 2.0 loaders from various engines: https://github.com/cx20/gltf-test/tree/2.0

pjcozzi commented 7 years ago

Very nice, thanks @cx20. Added above.

pjcozzi commented 7 years ago

If anyone is looking for a fun glTF 2.0 project, it would be great to update/replace the glTF loader in https://github.com/WebGLSamples/WebGL2Samples with a new or existing glTF 2.0 loader.

CC @shrekshao @trungtle

BeardedGnome commented 7 years ago

I've started looking at updating the C# Loader.

pjcozzi commented 7 years ago

Great news, thanks for sharing, @BeardedGnome!

Sumenia commented 7 years ago

We decided to use glTF 2.0 in our Vulkan rendering engine. So we created our own c++ loader

pjcozzi commented 7 years ago

Thanks @Sumenia! I added your work to the list at the top of this issue.

stevenvergenz commented 7 years ago

@robertlong 's UnityGLTFLoader has been moved and expanded in scope. It's now just UnityGLTF and it does export now too. Still a work in progress, but the basics are down!

emackey commented 7 years ago

Update on gltf-vscode. Last night a new version was published with full glTF 1.0 and 2.0 support, and multiple engine selection for the preview window contributed by @HowardWolosky.

screenshot

To try it, install a copy of VSCode and launch the editor, click the "interlocking boxes" icon on the left side for the Extensions panel, and type gltf in the search box there. Currently this extension is the only search result, so just click Install on it and relaunch the editor. Then load any of the glTF files from the sample model repo, and hit ALT + G to pop up the preview window.

mmha commented 7 years ago

I have started to work on a C++14 glTF 2.0 loader. It is far from complete, but I intend to make it work with WebAssembly, so native applications and libraries can be easily ported to the web. In the end I hope to allow library users to inject their own data structures (as long as they satisfy a C++ concept), so copies can be minimized.

pjcozzi commented 7 years ago

Very nice, sounds great @mmha, thanks for sharing! I added gltfpp to the list above. Keep us posted on your progress!

kyasbal commented 7 years ago

@pjcozzi A plugin of my project now supports glTF2.0. Yesterday I merged to replace old implementation of glTF1.0 loader. https://github.com/GrimoireGL/grimoirejs-gltf Some features are not implemented yet(Morphs, sparse accessors ...etc) Could you include our issue working for glTF 2.0 loader (https://github.com/GrimoireGL/grimoirejs-gltf/issues/13) on the list of projects working on glTF2.0 loader?

pjcozzi commented 7 years ago

Sure thing, added above @kyasbal-1994!

pjcozzi commented 7 years ago

If you are working on a new glTF 2.0 project or have an update to your glTF 2.0, please let us know.

We plan to incorporate all these projects into the main list in this repo's README.md and then close this issue and #1030.

bwasty commented 7 years ago

I've started working on a viewer in Rust: bwasty/gltf-viewer. It's still very early and I'm currently waiting for alteous/gltf (loader) to stabilise a little. And I just noticed the link to the latter one is outdated above - should point to the root of the repository.

pjcozzi commented 7 years ago

Cool, thanks for sharing @bwasty! Updated the table above, and this will be folded into the main README.md soon.

onox commented 7 years ago

I have written a glTF 2.0 loader in Ada 2012 as part of my OpenGL 4.5 rendering engine. It doesn't support morph, sparse, camera's, and textures yet (Blender exporter doesn't seem to export any textures), so you can consider its status to be "In progress".

donmccurdy commented 7 years ago

@onox nice work! Btw the Blender exporter can export textures, but requires either (a) using the glTF Cycles nodes provided with the exporter, or (b) enabling the experimental KHR_materials_cmnBlinnPhong extension. More info here: https://github.com/KhronosGroup/glTF-Blender-Exporter/blob/master/docs/user.md

onox commented 7 years ago

Ah, I'll go for the glTF Cycles nodes then 😄

pjcozzi commented 7 years ago

Very cool @onox! Added to the above list.

donmccurdy commented 7 years ago

Hi all,

I have opened #1039 merging these projects into the main README. When that is merged, this issue will be closed, so please leave comments on that PR for any corrections or updates.

pjcozzi commented 7 years ago

Check out the latest list: https://github.com/KhronosGroup/glTF#gltf-tools