Basically, all your objects are distorted boxes, so you can distort them individually, passing desired parameters via instanced buffer attributes.
And instead of edge lines, you can try to use this approach: How to update color values when using a shader? - #5 by prisoner849
1 Like