I'm trying to get a pixel/vertex perfect vector displacement map for a real-time project. The idea is essentially to bake a shape key to a texture so I can run the transformation on the vertex shader alone. Baking the VDMs is normally pretty trivial, the typical method is to get the difference between a given point in world space position of two different meshes and draw that as an RGB float 32 value.
But that method uses the point on a surface, instead of a point of a vertex, so certain complex displacements will have seams in them due to small differences in the color data of two verts. In my use case, I can guarantee that my source and target geometry for the VDM will have the exact same number and order of verts, so I'm not interested in the interpolated data on the face at all. Because the face data is irrelevant, my hope is that the UVs can be arranged at the center of each pixel, and then on that pixel, the position value is stored to the image.
More details here and some example photos: https://www.reddit.com/r/blender/comments/p4mhme/bake_exact_vertex_positions_to_float32_image/
Edit: The dimensions of the image are not important other than it cannot exceed 8k in any in width or height. Probably best if it's roughly square (a 10,000 vert image would best be 100x100 pixels) to make the image more manageable.
n_verts
x1
image. each pixel encoding the (index-ordered) vertex coordinate as 32-bit RGB ? $\endgroup$