opengl – Constant size geometries for glDrawArraysInstanced calls


In my application I can keep the objects constant sized

            const Graphics::VectorDouble diffVec(dTranslateX - m_CameraTransformOffset.x,
                                                 dTranslateY - m_CameraTransformOffset.y,
                                                 dTranslateZ - m_CameraTransformOffset.z);

            camScaleInv = Graphics::Lenght(diffVec) * 2.0f * tan(fov * 0.5f * PI / 180.0f);

Than I scale my view matrix with camScaleInv and I think that is very common to do but ,

I have some objects which I draw with glDrawArraysInstanced. I pass the parent surface only once and another array for duplicating the parent surface in different positions.

That causes my “diffVec” to be different and causes me to not being able to use keep same distance logic in CPU side.

Is there any way for me to keep the objects which are being drawn with glDrawArraysInstanced same size either in CPU or GPU(glsl) side.