How to pass 32-bit unsigned integer to a custom shader using DataTexture?

I need to use DataTexture to pass UINT32 to a custom shader, where I use texelFetch() to read it into a uvec4 type variable.

uvec4 pos = texelFetch(myTexture, ivec2(0, 0), 0);

However, every time my program accesses the variable pos , the scene becomes empty and fails to render. I’ve tried adding internalFormat , but it didn’t work either.

Below is my minimal program that feeds the content of the texture as point coordinates into the shader.

to pass a single u32 value I think you want to use:
type: THREE.UnsignedIntType
and format: THREE.RedIntegerFormat