   Isometric Tiles Culling
  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 :)   
  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.   ;Quote:Original post by rxaHow are you doing World to Screen space transformation?Still have to work on that :DIt's the first time I look at this, I really don't know where to start :/;  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];  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 ?   ;  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.   