I'm working on my indie game and I want to create a moon (it's a 3D game) however I am unsure if I should create a model and put it far away, or if I should use a texture on a plane and have it constantly move so the face of the plane is facing the player.

The problem I had last time I tried a model is the render view, as the model was really far away (as when I did it very small, you could sort of tell it was a tiny model rather then a far-away moon) and with the texture I'm not sure if it comes across as tacky.

I'd really like to hear the pros and cons of each, since I'm planning to use the 'render objects only when in view' method and basically want advice on which I should go with.


At moon distance/scale, you're unlikely to be able to see any benefit from a 3D model. Especially if the moon is tidally locked like ours is (only one side visible from the ground)

A textured polygon may give you some advantages even, because it makes it easier to antialias the edges, or add a glow/halo.

The moon's phases might be easier to tackle with a 3D object illuminated from different angles, but you can accomplish the same effect with a normal map.

If your moon does rotate, then a 3D object could be worthwhile, so you can simply spin it rather than faking it with a scrolling masked texture or more complicated sampling logic.

To ensure you don't hit draw distance problems with either version, keep it fairly close to the camera in reality, but use a shader to always draw it at max depth. In the same shader, you can neutralize the camera's translation, so the object shows no parallax as you move the camera that might make it look closer than optical infinity.

| improve this answer | |

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.