I’m sure the problem is that markups are not rendered with the same method as other objects in the 3D view. As a workaround, I can set camera position (in Python) to very far from my markups. In parallel projection, camera position does not matter anyway. Increasing camera-fiducial distance doesn’t change anything in the rendered CT volume, but it reduces the distortion of markups. So it’s a good way to work around this bug (in parallel/orthographic projection at least).