Envoyé par
LittleWhite
Bonjour,
Vous pouvez l'étendre au fur et à mesure, si vous voulez, mais le plus simple c'est de ne pas définir de limite et de garder juste la position des objets (dans des int sur 32bits ça suffira).
Après, j'ai expliqué le système de vue (caméra) sur le chat, qui reprend l'idée de Feanorin (je crois).
Explication : La camera est une fenêtre sur notre monde. Chaque objet à sa position (entre autre) dans le monde et la camera applique un décalage sur cette position, faisant que lorsque l'objet devra être affiché, il se retrouvera dans les coordonnées réelle de l'écran (à l'intérieur de l'écran).
EDIT :
Bien sur, on n'affichera (ou demandera l'affichage) uniquement des objets qui rentre dans le cadre de l'écran. Après, il existe des optimisations "classiques" pour la gestion de milliers d'objets. Les optimisations sont les BSP -> Binary Space partionning (ou partitionnement de l'espace). La technique (voir la littérature sur le sujet) consiste à subdiviser le monde en carré contenant des objets. Chaque carré est subdivisé pour être de plus en plus précis (jusqu'à une limite). L'idée est que si un des carré très global n’apparaît pas du tout sur l'écran alors il est exclue ainsi que tout ses sous éléments (donc pas besoin de tester les sous éléments, car ils sont déjà éliminés).
Partager