don't need GLM here, may add live preview with SDL