Je me souviens que John Carmack parlait de la façon dont ils ont initialement utilisé Megatexturing pour Quake Wars: Enemy Territory. La technologie a depuis évolué un peu dans Rage.
Je me demandais si quelqu'un ici pourrait donner des détails techniques sur les détails de quoi et comment cela a évolué depuis.
Je recommanderais de consulter l'article "Virtual Texture Mapping 101" sur les gemmes GPU. Il s'agit essentiellement de diviser la texture d'origine (qui est généralement énorme) en plus petites tuiles et de les charger dans la mémoire GPU si nécessaire. La même idée peut être utilisée pour rendre des terrains énormes et très détaillés.
la source
Pour commencer, Beyond3D a un joli petit résumé de quelques informations techniques rassemblées au cours d'une interview avec le directeur technique de Splash Damage, Arnout van Meer, ainsi que le programmeur graphique principal Mike Armstrong. Ce même article cite spécifiquement certains inconvénients de MegaTexturing dans son itération alors en cours à la page 5. Il suggère que John Carmack a déjà corrigé certains d'entre eux dans une révision ultérieure ainsi que des moyens de corriger d'autres qui n'étaient pas viables à l'époque.
Des exemples notables sont:
De plus, dans cette interview, John Carmack déclare que certaines des lacunes de la technologie utilisée dans Quake Wars ont déjà été corrigées dans les builds internes - par exemple en appliquant MegaTextures à une géométrie arbitraire, y compris des personnages et des véhicules.
la source
La présentation de Sean Barret GDC 2008 Sparse Virtual Texture était sa tentative de recréer ce que Carmack faisait à l'époque. Il y a aussi la source. Il y a eu une correspondance entre Carmack et Barrett depuis lors.
(La présentation est un peu dense, mais il vaut la peine de prendre le temps de comprendre - j'ai passé quelques séances d'une heure avec un tableau blanc après l'avoir regardé deux fois en deux jours, et j'ai finalement atteint le point où je pense avoir compris C'est beaucoup plus facile si vous avez un arrière-plan de shaders de fragments, ce que je n'avais pas à l'époque. C'est aussi très bien que la présentation soit la démo.)
+1 à zacharmarz pour avoir mentionné l'excellente présentation du GDC2011 Mega Meshes par les gens de Lionhead travaillant sur Milo et Kate. Il y a beaucoup de solutions très pratiques qui y sont mentionnées, par exemple: rendre toutes les autres images à différents endroits (points chauds, virages à 180 degrés, zooms, plus loin le long d'une spline de contrôle, etc.) pour déterminer la visibilité de la texture et les niveaux de mip, et communiquer les résultats à un "cache L2", pour résoudre certains des problèmes de streaming de texture. Pas nécessairement simple, mais néanmoins élégant dans sa franchise.
la source