Comments (19)
I can but GLB doesn't compress well and these files are bigger than the GitHub max attachment size
Google Drive link work?
https://drive.google.com/file/d/1MelF1Qo_kE83h4Ym_cYbWxqMWOzNSZYI/view?usp=share_link
from gltfkit2.
Thanks so much for the support here, @warrenm!
If you're interested, we'd be happy to give you free access to Polycam Pro. If you create a Polycam account, send me the email address you used to create it, and I'll upgrade it. My email is my first name "elliott" at polycam.ai
from gltfkit2.
Thanks for the report. This should be enough to start looking into the issue.
from gltfkit2.
This was due to a misunderstanding of how RealityKit maps the materials list in a ModelComponent
to the corresponding MeshResource
primitives. It should be fixed as of 95d6aaf.
If you're able to test this fix without me needing to spin a new release, I'd appreciate any feedback. Otherwise this fix will be incorporated into an upcoming release. Thanks again for the report.
from gltfkit2.
This was due to a misunderstanding of how RealityKit maps the materials list in a
ModelComponent
to the correspondingMeshResource
primitives. It should be fixed as of 95d6aaf.If you're able to test this fix without me needing to spin a new release, I'd appreciate any feedback. Otherwise this fix will be incorporated into an upcoming release. Thanks again for the report.
Thanks for taking a look Warren! We'll test it out and revert back.
from gltfkit2.
Thanks for the rapid turnaround
Still seeing issues with 95d6aaf
![Screenshot 2024-01-17 at 1 48 36 PM](https://private-user-images.githubusercontent.com/150742504/297514674-82bf70e1-61c1-4c42-ae0c-df77ae46954e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE3NDQzMTgsIm5iZiI6MTcyMTc0NDAxOCwicGF0aCI6Ii8xNTA3NDI1MDQvMjk3NTE0Njc0LTgyYmY3MGUxLTYxYzEtNGM0Mi1hZTBjLWRmNzdhZTQ2OTU0ZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzIzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyM1QxNDEzMzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02Yjg5MWY2MWZhN2U5ZGNlZjcyN2QxNzM1MGJmYWNlOWE4YjgwNmE3NGJjMmQ2MzI5ZDAzZjNjMjEzMTAxOGY4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.4KWWKXYAgK6bA5qSbERc8bFoh3NWdIkQXUc9Baa-bhU)
![Screenshot 2024-01-17 at 1 49 22 PM](https://private-user-images.githubusercontent.com/150742504/297514683-f7dd899b-7f4c-4d35-83dd-c28b731e6b25.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE3NDQzMTgsIm5iZiI6MTcyMTc0NDAxOCwicGF0aCI6Ii8xNTA3NDI1MDQvMjk3NTE0NjgzLWY3ZGQ4OTliLTdmNGMtNGQzNS04M2RkLWMyOGI3MzFlNmIyNS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzIzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyM1QxNDEzMzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jNTNkYmMxYjM4MTVlODc2YTc5MzU5YmY5NDFhYjYyM2MzNzRiNjI2MjM0NmFkN2I5YTEzZDc4OGUzZThkZDdlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Cpp7C87fqJkPjva0WeLzndOQapfm2YmgQrabmaJDl2k)
from gltfkit2.
Can you share a .glb that reproduces this issue? I suspect it's a separate bug.
from gltfkit2.
The immediate issue here is that we're trying to extract a color channel from a monochrome image as if it's an RGBA image. That's fairly easy to fix, but in the process of fixing it, I've encountered a lot of flakiness in the runtime behavior, and the perennial flakiness of Swift+lldb is making it hard to debug. I'll continue looking at this.
from gltfkit2.
The situation should be much improved with c5501dd. In addition to never attempting to extract a channel from a single-channel image, I switched to a more efficient method from the Accelerate framework to do the extraction when necessary. I also added some defensive image decoding code that only runs on visionOS to address some problems I encountered there.
You're likely to hit validation errors when running with the Metal API validation layer due to the use of 8K images for all material properties, but you can address that when and how you see fit.
from gltfkit2.
Tested with c5501dd
Things do seem improved, there's intermittency on some of the failures (not sure if that's this library or RealityKit/visionOS Simulator)
However some of the models (the jet engine) remain broken with that "zebra" white/gray material failure mode.
Here's is another model that consistently zebras: https://drive.google.com/file/d/1cQDxuaT44CjQHENjNUlJSmaspaRd8Srp/view?usp=share_link
Are you able to reproduce that issue with that model?
- Xcode 15.2
- visionOS Simulator
(edit:) my testing environment:
- Out-of-the-box new visionOS App via Xcode
- GLTFKit2.0 installed via SMP pointed to
master
- GLB loading done via the local filesystem
- Resulting ModelEntity placed via RealityView in the default ImmersiveSpace.
Nothing too crazy here, I can provide the project if that helps with reproduction
![Screenshot 2024-01-19 at 9 54 36 AM](https://private-user-images.githubusercontent.com/150742504/298140814-168113ef-4a30-4ca0-8f98-74b0e1a6c8e5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE3NDQzMTgsIm5iZiI6MTcyMTc0NDAxOCwicGF0aCI6Ii8xNTA3NDI1MDQvMjk4MTQwODE0LTE2ODExM2VmLTRhMzAtNGNhMC04Zjk4LTc0YjBlMWE2YzhlNS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzIzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyM1QxNDEzMzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05OTE0YzQxMzYxNGJmNzUyNWM1MDNlNGNjNGNlYWQxNmZkOTM4NGNlNWZmMTVhZTQxNjBmNThiZmYzOGI1OTVmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.1MHXLFkwsDc1O8EAAc24VSUGKmBuAXjCM62gEDSlvm0)
![Screenshot 2024-01-19 at 9 54 48 AM](https://private-user-images.githubusercontent.com/150742504/298140823-63158aa2-5ec1-47c3-892d-4d2e1378676d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE3NDQzMTgsIm5iZiI6MTcyMTc0NDAxOCwicGF0aCI6Ii8xNTA3NDI1MDQvMjk4MTQwODIzLTYzMTU4YWEyLTVlYzEtNDdjMy04OTJkLTRkMmUxMzc4Njc2ZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzIzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyM1QxNDEzMzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00ZjQ5MDhkZDA2NGVlYTU2NDNjMWU4YjA4ZDhjYjYyOGQwNjNmZjNjYTljODUwZGEyNjU3MmQ4ZDEyNjIyYTkwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.OYJaIj0BaNVtJZJlYhP2vvalfTHw4OiRqPsJuxxUZGg)
from gltfkit2.
Be happy to take a look at a sample project if you can provide it. The table model seems to consistently render without obvious bugs for me with Xcode 15.2 + visionOS Simulator 1.0:
![table](https://private-user-images.githubusercontent.com/39937547/298143564-df311d3c-ce5d-447c-897e-c5f8a9e0b608.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE3NDQzMTgsIm5iZiI6MTcyMTc0NDAxOCwicGF0aCI6Ii8zOTkzNzU0Ny8yOTgxNDM1NjQtZGYzMTFkM2MtY2U1ZC00NDdjLTg5N2UtYzVmOGE5ZTBiNjA4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzIzVDE0MTMzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU1MmVhYzBjNGEzYWRkNjQyODE5NWI1YjAxNWU1MjViYzQ3YWJiYWZlODM4NDcyM2RmMTA2NmRlMzRmM2VjODkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.sk5NbCsTLNhFZOSrCx9L4uZOijnvWzAaJAb5jvX7F_s)
I do see one failure on the console:
callDecodeImage:2006: *** ERROR: decodeImageImp failed - NULL _blockArray
and the app crashes with the Metal validation layer enabled (due to the large image size), but without validation enabled, it renders as above.
from gltfkit2.
Sample project, very simple modifications to the default project setup from 15.2
Large size due to embedded gib files
Hope I'm just holding it wrong :)
https://drive.google.com/file/d/1gPBJwy8YBSyL7oc6mHnpwCjqufudWp9L/view?usp=share_link
from gltfkit2.
I think if you're consuming the framework as a Swift package (which I don't recommend to anyone, but grudgingly support), it uses the contents of the Package.swift in the checkout to determine how to build. In this case, because the package file points to the latest GitHub release, you're not actually building and linking against the code at top of tree; you're linking against version 0.5.7, which doesn't include the changes made to address this issue.
from gltfkit2.
Here's an XCFramework built from top of tree. It should work as a drop-in replacement for the SPM dependency.
https://drive.google.com/file/d/1SmnapYontNls7Wuwv2lyXmhs648derKV/view?usp=sharing
SHA256: 9caf87301f184abb6a268053f5e89f07d06002acba7a5532ec89bcb6b804b1cb
from gltfkit2.
Oh wow okay that "makes sense" but damn
So my project's package.swift points to GLTFKit master, and so the git history of the local GLTFKit copy shows your recent commits (which is why I thought I was using them)
But because GLTFKit's package.swift on master points to a specific release, it "overrides" my project's package.swift file, and what actually gets installed is the older release copy...
HUH. Good to know.
Okay that's great... I'll be able to test this later today.
Thanks Warren! Much appreciated
from gltfkit2.
Yep, you got it. Sorry for the confusion. I only distribute binaries because SPM still doesn't support mixed-language targets after all these years. Maybe we get that some time this decade.
from gltfkit2.
Perfection, thank you so much @warrenm
from gltfkit2.
Sweet! Thanks for sticking with it.
from gltfkit2.
@warrenm Awesome! Just upgraded your Polycam account - you should have access to Pro indefinitely.
from gltfkit2.
Related Issues (20)
- The problem with transparency of the model HOT 6
- Display of KHR_materials_transmission HOT 17
- Model broke app HOT 13
- Support for SPM HOT 7
- Texture coordinate sets are not mapped deterministically to SceneKit geometry sources HOT 5
- Skinned, morphed, normal-mapped models have incorrect lighting in SceneKit HOT 15
- Add Mac Catalyst Xcode Destination HOT 3
- Building for 'macCatalyst', but linking in dylib (Cocoa.tbd) built for 'macOS' HOT 1
- Crash when loading animation HOT 4
- GLTFAssetReader convertBuffers crashes during asset loading HOT 8
- Crash when converting model containing 8-bit sparse accessor indices HOT 3
- How to use GLTFDracoMeshDecompressor need example HOT 5
- GPU instancing extension support? HOT 5
- Temperance bone direction HOT 4
- Inquiry Regarding Privacy Compliance HOT 1
- Add support for anisotropy in RealityKit converter
- Apple new Privacy manifest files In May HOT 4
- Broken surfaces in RealityKit HOT 3
- App crashes on iOS 15.x device stating dyld[7200]: Symbol not found: HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gltfkit2.