I'm trying to make a simple 3D editor and I'm not sure how I should go about it.
I came up to two option:
1. In first I store non transformed model, cached model that store transformation on face and edges and display model that store already full transfomed model, If I scaling model I take vertecis info from cache and model will not destroed if I scale it to straight plane, that all sound good but with this solution I faced with this problem that I just have no idea how to solve (If you have any ideas please let me know). Basically wanted to do this only for optimization of full model scaling operation.
2. My second option (and plan B.) it's storing applied transformation for each vertices, so I will have origin model and display model so I don't need do some inverting or mapping of tools axis to unscaled space. Cache model also should have been implemented in that way so it's seem not bad solution also memory cost will be quatertion + translation = 16 byte, ~ 32KiB on 1000 vertecis, that more than enought for my need by I just intristing to now is there exis better solution?