Glb load with separated texture VS with texture

Hi, now I’m making a project that load one room with some obstacle.

I baked all texture in one(not include some objects) 4k (4096*4096)size.

when I access in my computer (MAC) it works well. but when I access with my mobile phone, it doesn’t work with error(to many redirection, i can’t access the link with mobile).

When I resize the texture size by 1k (1024*1024) it works well.

But one day I found this cool example.

https://my-room-in-3d.vercel.app/

This example load 4k texture but separate with texture. (plain mesh glb and png texture file)

Also it works very well in my mobile phone…!

Is there any difference loading glb file only and put texture afterward with just normal glb file(with texture in glb file)?

No. In both use cases the engine creates texture objects for rendering.

I suggest you verify the maximum texture size of your mobile phone first. If it supports the intended texture dimensions, you probably run out of memory. In this case, you might want to given compressed textures a try. glTF is ideal for this use case since the standard itself as well as its tool chain have good support for compression techniques. A good example for loading a highly compressed glTF asset is: three.js examples

In any event, try to avoid loading models and texture separately. With glTF, that should not be necessary.

Thanks for the reply :slight_smile:

I slightly know about the ktx texture(.basis) but I don’t know how to make the compressed texture with glb by blender.

Is there any recommend for compress texture to ktx texture by blender or by script? Should I can only use the GLTF pipeline?

I found the solution that I can compress gltf texture by gltf-transform

but I got a question about it.

  1. ktx texture is not all device can use. Can I ask is that okay making product with ktx texture?

  2. I transform texture with gltf-transformer but when I bring that model to gltf-viewer it doesn’t work with message “Cannot set properties of null (setting ‘encoding’)”