SFTtech / openage

Free (as in freedom) open source clone of the Age of Empires II engine 🚀
http://openage.dev
Other
12.64k stars 1.11k forks source link

Frustum Culling #1534

Closed heinezen closed 1 month ago

heinezen commented 12 months ago

Frustrum culling

Required Skills: C++, computer graphics knowledge helps

Difficulty: Medium

With frustum culling we would only render objects visible by the camera. This could potentially save a lot of rendering time and let the renderer scale easily with larger scenes.

Implementing frustum culling in openage could be much simpler than in other engines since the camera has a fixed (dimetric) perspective using orthogonal projection, creating the well-known isometric view also seen in AoE2. Camera movement is currently limited to the x-z-plane. Furthermore, the camera supports zooming into/out of the scene.

Tasks:

The view frustum does not necessarily have to be perfectly accurate at first, i.e. it can be slightly larger than the camera view if it's easier to calculate. Our primary goal here is speed, not accuracy.

To test the implementation, there should be

Further Reading

nikhilghosh75 commented 5 months ago

Hi, can I have this task if it isn't already taken?

TheJJ commented 5 months ago

Go for it!