GPGPUComputationRenderer

You could take a look at the Textures constants page. If you scroll down to the Types section, you’ll see that there are plenty of data types to choose from, including THREE.UnsignedByteType. Not sure how this would affect the flocking/birds example, since I haven’t looked at its code, but it’s worth a shot!

Here’s a snippet from a project from 2017 where I needed to perform some GPGPU computation, and I ran into iOS Safari issues as well, so maybe it can be of some help.

if(/(iPad|iPhone|iPod)/g.test(navigator.userAgent)){
	// iOS devices only support HalfFloatType 
	return THREE.HalfFloatType;
}else if(renderer.extensions.get("OES_texture_float")){
	// Most devices support FloatType
	return THREE.FloatType;
}else{
	// Otherwise use UnsignedByte type
	return THREE.UnsignedByteType;
}
2 Likes