inline bool is_air (const chunk_coordinates& pos) { if (!is_coarse_height_available(pos)) return false; return is_air_chunk(pos, get_coarse_height(pos)); }
void on_update_height(map_coordinates pos, chunk_height z) { // The coarse height map has been changed. Cancel all occlusion // queries above this limit. boost::mutex::scoped_lock l (lock); for (auto& d : occlusion_queries) { for (auto& qry : d) { if ( //qry.second.state() == occlusion_query::visible map_coordinates(qry.first) == pos && is_air_chunk(qry.first, z)) { //trace("OQ %1% is above height limit, canceling", world_rel_coordinates(qry.first - world_chunk_center)); qry.second.set_state(occlusion_query::air); } } } }