- int x = gl_InstanceID % textureSize(flow_tex, 0).x;
- int y = gl_InstanceID / textureSize(flow_tex, 0).x;
+ int instance = gl_InstanceID;
+ int num_pixels_per_layer = textureSize(flow_tex, 0).x * textureSize(flow_tex, 0).y;
+ int src_layer;
+ if (instance >= num_pixels_per_layer) {
+ instance -= num_pixels_per_layer;
+ src_layer = 1;
+ } else {
+ src_layer = 0;
+ }
+ int x = instance % textureSize(flow_tex, 0).x;
+ int y = instance / textureSize(flow_tex, 0).x;