De forma alguma, são feitos varias blocos separados, que podem ser carregados todos juntos antes, ou em tempo real, isso depende de muitas coisas.
Mas com certeza tem que ser separado, por que se fosse tudo junto ia exigir demais do processador e da placa de video, por que ia ter que ler tudo ao mesmo tempo, mesmo quando não estiver sendo usado, então quando separa, só vai carregar a geometria e as texturas que está usando no momento, na tela, exigindo muito menos de processador, memória e placa de vídeo. Você deve criar um critério de separação, de acordo com o que o jogo propôe, no exemplo do GTA, eu separaria da seguinte forma, blocos de 50 metros equivalentes no jogo para as ruas, todas as construções separadas individualmente, todas as plantas e objetos. Por que aí se a visibilidade do jogo for de 200 metros por exemplo, vai carregar só o que estiver dentro dos 200 metros, carrega os primeiros 50 metros com a qualidade maxima de modelos e textura, mais 50 com uma qualidade média e os outros 100 com a qualidade baixa, tudo mais longe do que isso não será mostrado, pode ser gerado um efeito de FOG para esconder esse método, mas dependendo do jogo, nem precisa.
Abraço.