I’m thinking that maybe we should stop treating a missing module as an error when bundling. There are just too many examples such as yours where our approach is more of a problem than a help.
Probably the most important concept to understand about Basis Universal before using it: The system supports two very different universal texture modes: The original “ETC1S” mode is low/medium quality, but the resulting file sizes are very small because the system has built-in compression for ETC1S texture format files. This is the command line encoding tool’s default mode. ETC1S textures work best on images, photos, map data, or albedo/specular/etc. textures, but don’t work as well on normal maps. There’s the second “UASTC” mode, which is significantly higher quality (near-BC7 grade), and is usable on all texture types including complex normal maps. UASTC mode purposely does not have built-in file compression like ETC1S mode does, so the resulting files are quite large (8-bits/texel - same as BC7) compared to ETC1S mode. The UASTC encoder has an optional Rate Distortion Optimization (RDO) encoding mode (implemented as a post-process over the encoded UASTC texture data), which lowers the output data’s entropy in a way that results in better compression when UASTC .basis files are compressed with Deflate/Zstd, etc. In UASTC mode, you must losslessly compress the file yourself.
Hi guys, I found a new issue
I switched to MacBook Pro M1 and I can build and run an example project without issues.
I’m using GLSL #version 300 es in my shaders but it doesn’t work anymore.
WARNING:GRAPHICS: ERROR: 0:1: '' : version '300' is not supported
ERROR: 0:1: '' : syntax error: #version
ERROR: 0:2: '' : #version required and missing.
When I remove es attribute it works fine on MacBook but cannot run on android.
I have no issues running the same code on Linux using Defold 1.2.179
Where can I found the link to Defold 1.2.179 for mac to test it? How can I use the 300 version in my project?
I tried to switch to 100 version, removed version section from my shaders and changed in/out to attribute/varying, it works on Mac, but I still cannot build it on android.
WARNING:RESOURCE: Unable to create resource: /assets/materials/shadow.vpc: FORMAT_ERROR
WARNING:RESOURCE: Unable to create resource: /assets/materials/shadow.materialc: FORMAT_ERROR
WARNING:RESOURCE: Unable to create resource: /main/render.renderc: OUT_OF_RESOURCES
ERROR:ENGINE: Unable to load bootstrap data.
The same error when building example mobile project
”es” is for OpenGLES which is for mobile and WebGL.
Since you specify ”#version”, we keep that.
However, if you remove the ”#version” from the shader, we’ll add the correct version per platform automatically.
I can build the app for android with specified #version 300 es without issues, but got the error building on Mac (I tried with and without es attribute)
WARNING:GRAPHICS: ERROR: 0:1: ‘’ : version ‘300’ is not supported
WARNING:RESOURCE: Unable to create resource: /assets/materials/shadow.vpc: FORMAT_ERROR
WARNING:RESOURCE: Unable to create resource: /assets/materials/shadow.materialc: FORMAT_ERROR
WARNING:RESOURCE: Unable to create resource: /main/render.renderc: OUT_OF_RESOURCES
ERROR:ENGINE: Unable to load bootstrap data.
If I remove the version, I got an error regarding syntax
WARNING:GRAPHICS: ERROR: 0:1: Invalid storage qualifiers 'in' in global variable context
ERROR: 0:8: Use of undeclared identifier 'position'