If I want to model a large environment, how can I solve the problem of earth curvature and horizon?

I use an environment map for the sky, but for the ground what can I do?

Do I have to model the ground with a big plane, disk or a spherical cap?

Is there a general procedure to solve this problem in computer graphics?

  • 3
    $\begingroup$ Following from your comment on the answer, could you clarify whether you want to know about a theoretical approach, how to achieve this programmatically or how to achieve this in modelling software? This Stack Exchange is specifically about computer graphics programming and theory. If your question is specifically about how to achieve the effect in modelling software, I'm afraid your question is off topic. It makes a good question as a general CG problem though. $\endgroup$ Nov 9 '15 at 9:14

Having the horizon fall off is simply dropping the ground in the distance down somewhat.

A point $x$ km away if you follow the curve of the planet will be $r-r\cdot \cos \frac{x}{r}$ down and $r\cdot \sin \frac{x}{r}$ out horizontally where $r$ is the radius of the planet you are modeling (~6.3k km for earth). In the vertex shader you can account for that before you apply the view and projection matrix.

  • $\begingroup$ Can you give an example with a 3d modeling software ? $\endgroup$
    – Valerio
    Nov 9 '15 at 0:41
  • 4
    $\begingroup$ @Valerio this is not a forum for how to use modeling software. $\endgroup$
    – joojaa
    Nov 9 '15 at 14:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.