What's the best way to watermark 3D models to protect from getting scrapped

Define large? Reading data from a buffer is just moving some memory around. If you don’t use any compression stuff, then the overhead is minimal. It may even be faster for models that would otherwise consist of multiple files, since you now only need to do one request to download your container file.

I know. If you read my post then you know that’s not what I meant.

Sorry misread your post. Large files like 25 mb GLB files after they’ve been compressed via gltf transform and scaling down textures. My only concern would be added load time but I’ll try it out.

Thanks for the tip though, I think a combination of watermarking thats merged to geometries and custom file formats is prob the most practical solution for me atm.

I think this idea of geometry “islands” could be defeated by using a different watermark for each model.

That shouldn’t be a problem at all.

It’s not like your going to have to iterate through this byte for byte. Instead your just grabbing an array buffer by slicing it from the overall buffer.

In practice it would look something like this:

const buffer: ArrayBuffer = file.getContentsOf("model.glb");

Internally this just grabs a slice from the overall buffer using the start offset and length based on the information in the file header.