BabylonJS / Babylon.js

Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.
http://www.babylonjs.com
Apache License 2.0
22.78k stars 3.39k forks source link

Engine: add support for non float vertex buffers in native #15107

Closed Popov72 closed 1 month ago

Popov72 commented 1 month ago

Let's hope it works in Native!

Note that the support has been added to WebGL2 (as it's what Native uses under the hood), but it is disabled for WebGL2 in Babylon.js because ANGLE is already doing the job

To reduce the footprint of thinEngine, the changes are only specific to Native and WebGPU. I had to create/update a number of things in the native engine without being able to test them... So don't be surprised if the tests fail!

bjsplat commented 1 month ago

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). To prevent this PR from going to the changelog marked it with the "skip changelog" label.

bjsplat commented 1 month ago

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). To prevent this PR from going to the changelog marked it with the "skip changelog" label.

bjsplat commented 1 month ago

Snapshot stored with reference name: refs/pull/15107/merge

Test environment: https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15107/merge/index.html

To test a playground add it to the URL, for example:

https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15107/merge/index.html#WGZLGJ#4600

Links to test babylon tools with this snapshot:

https://playground.babylonjs.com/?snapshot=refs/pull/15107/merge https://sandbox.babylonjs.com/?snapshot=refs/pull/15107/merge https://gui.babylonjs.com/?snapshot=refs/pull/15107/merge https://nme.babylonjs.com/?snapshot=refs/pull/15107/merge

To test the snapshot in the playground with a playground ID add it after the snapshot query string:

https://playground.babylonjs.com/?snapshot=refs/pull/15107/merge#BCU1XR#0

bjsplat commented 1 month ago

WebGL2 visualization test reporter:

https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15107/merge/testResults/webgl2playwright/index.html

bjsplat commented 1 month ago

Visualization tests for WebGPU (Experimental) Important - these might fail sporadically. This is an optional test.

https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15107/merge/testResults/webgpuplaywright/index.html

bjsplat commented 1 month ago

Visualization tests for WebGPU (Experimental) Important - these might fail sporadically. This is an optional test.

https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15107/merge/testResults/webgpuplaywright/index.html

bjsplat commented 1 month ago

Visualization tests for WebGPU (Experimental) Important - these might fail sporadically. This is an optional test.

https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15107/merge/testResults/webgpuplaywright/index.html

bghgary commented 1 month ago

I will test this in native, but it will be a bit before I do. Can we mark as draft until then?

bghgary commented 1 month ago

I got everything working on Windows. Need to check macOS and iOS next.