Jump to content
  • Advertisement
Sign in to follow this  
b3rs3rk

Isometric Tiles Culling

This topic is 3451 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've already posted this in the Iso Forum, but got no responses... Anyway, I've started a small isometric renderer and now I would like to reduce a bit the draw calls... does anyone know a good tutorial on how to check which iso-tiles are on screen? Thank you :)

Share this post


Link to post
Share on other sites
Advertisement
How are you doing World to Screen space transformation?

For a well optimized or lightweight transformation I don't see tranforming point/circle/rect(whatever the bounding shape happens to be) in to the screen space and culling if it's outside the screen boundaries to be a bad solution.

Share this post


Link to post
Share on other sites
Quote:
Original post by rxa
How are you doing World to Screen space transformation?


Still have to work on that :D
It's the first time I look at this, I really don't know where to start :/

Share this post


Link to post
Share on other sites
First things first: don't draw anything that's not currently in your view. Of course, you'd first have to know what exactly IS in view, and what not.
So, as rxa suggested: get those transformations working, then find out a way to check if something's in view or not, and if not, don't draw.

May sound like a simple answer/solution, but it reduces the number of calls a lot.

=]

[Edited by - stenny on June 4, 2009 5:59:48 AM]

Share this post


Link to post
Share on other sites
it's a bit more complex than that. Of course, once I'm able to perform World to Screen space transformation easily, I could cycle on the tiles list and check if they're visible (each frame or every camera update), but I suppose there's a better way.

With regular rectangular grids, one could easily compute the current visible rectangle on the grid and get the visible tiles id... could I do the same with iso-grids? maybe transforming viewport bounds on the isoGrid forth and back...

Suggestions ?

Share this post


Link to post
Share on other sites
Occlusion culling for isometric games is somewhat similar to culling in 3D games - you'll need to take the height into account. It's easier though, because you don't need to take different camera directions into account.

I'd go for a high-level culling first: a quadtree or grid, where each cell contains multiple tiles. Each cell should know it's lowest and highest point. Then, for each cell, you can calculate if it can (partially) be seen. If so, draw all tiles in that cell (or, if you want to, perform checks for individual tiles - although that will likely cost more CPU than it's worth, given that nowadays graphics cards can handle quite a few polygons). If not, you can safely discard all tiles from that cell.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!