render in two passes (geometry, text/icons)