Video-games; Rendering textures on scope zoom-in. Texture compression problem? This is general question.
In the multitude of video-games that are not specialized in scoped warfare (like Sniper Elite), I've noticed that when you zoom in with a scope, the textures and normal maps won't &quot;update&quot;.
You're standing on coordinate $(0,0,0)$ and the textures will load in full quality to some other $R^3$ coordinate, let's say $(10,10,10)$.
If you look through a scope from $(0,0,0)$ past the &quot;Max quality&quot; distance, let's say $(10+n1,10+n2,10+n3)$ (where $n_i$ is the zoom in factor), the zoomed in textures will not updated as if you were standing on the coordinate $(n,n,n)$.
The best example is the Fallout 4 scope zoom-in.
If you zoom in anywhere, the distant textures to which you zoom in will look washed out.
What are the solutions to such problems? Are they engine related? I've just started to dabble in OpenGL and noticed that problem on the multitude of games which share the same game engine.
Well there's no way to know for sure unless you look at the source code but my guess is that they do zooming by lowering the FOV (field of view) of the camera. This is easy to implement and actually sort of represents how a real scope works (in the way that light rays are bent through an optical lens). A zoom effect where you change the actual position of the camera might be more trouble than its worth. What if there is an object between the player and the desired camera position? So as you can see, the camera position has not changed at all and so there is no reason the textures would update when zooming.

Now you would think that hey maybe they could just scale the distance required to trigger the higher detail textures as the player zooms in but this may or may not be easy depending on how that is implemented in the engine. The game developers may not even be able to change LOD (level of detail) distances dynamically. Like you said, games like sniper elite which are based all around sniping have dealt with this but general purpose game engines might not have this functionality.

Also you have to consider possible popping effects. If you zoom in to an area and suddenly the textures and meshes update dramatically, this would look very bad. This gets even worse if the zoom effect is gradual or the sight is adjustable. I would even go as far as to say that it might be preferable to have lower quality textures than to have really bad popping.