{"id":58023,"date":"2007-09-12T13:52:21","date_gmt":"2007-09-12T11:52:21","guid":{"rendered":"https:\/\/cms.galaxiemedia.fr\/tomshardware\/2007\/09\/12\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/"},"modified":"2023-06-22T19:16:14","modified_gmt":"2023-06-22T17:16:14","slug":"id-tech-5-le-nouveau-moteur-3d-de-carmack","status":"publish","type":"post","link":"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/","title":{"rendered":"ID Tech 5 : le nouveau moteur 3D de Carmack"},"content":{"rendered":"

Introduction<\/h2>\n

\n<\/span><\/span>C\u2019est en plein mois d\u2019ao\u00fbt lors de la d\u00e9sormais traditionnelle QuakeCon que John Carmack a pr\u00e9sent\u00e9 le prochain projet d\u2019id Software : Rage. Si peu de choses sont connues sur le jeu qui semble particuli\u00e8rement peu avanc\u00e9 dans son d\u00e9veloppement, le directeur technique d\u2019id Software a profit\u00e9 de sa pr\u00e9sentation pour donner quelques d\u00e9tails sur le moteur 3D qui animera le jeu. Finis les Doom et autres Quake engines<\/i>, le nouveau moteur s\u2019appelle id Tech 5 et la firme texane a au passage rebaptis\u00e9 tous ses pr\u00e9c\u00e9dents moteurs selon cette nomenclature : id Tech 2 pour le moteur de Quake 2, id Tech 3 pour le moteur de Quake III et enfin id Tech 4 pour le moteur de Doom III (et ses mises \u00e0 jour, notamment celle utilis\u00e9e par Quake Wars).<\/p>\n

Maintenant que nous avons eu un peu de temps pour assimiler toutes les informations r\u00e9v\u00e9l\u00e9es lors de cette QuakeCon nous avons pens\u00e9 qu\u2019un petit bilan de toute la technologie qui se cache derri\u00e8re id Tech 5 ne serait pas superflu.<\/p>\n

Rage, le jeu<\/h2>\n

\nAvant de nous pencher sur la technologie r\u00e9servons quand m\u00eame ce paragraphe \u00e0 la pr\u00e9sentation du premier jeu sens\u00e9 l\u2019illustrer : Rage. Rage a la lourde t\u00e2che d\u2019\u00eatre la premi\u00e8re nouvelle licence venant d\u2019id Software depuis plus de dix ans, \u00e9poque \u00e0 laquelle Quake est sorti. Et le moins que l\u2019on puisse dire c\u2019est que ce fut douloureux pour la firme texane. En effet, on sait d\u00e9j\u00e0 qu\u2019apr\u00e8s Quake III id Software a pendant un moment travaill\u00e9 sur un nouveau jeu baptis\u00e9 Quest avant que le projet ne soit abandonn\u00e9, la firme (enfin essentiellement John Carmack) pr\u00e9f\u00e9rant se consacrer \u00e0 Doom III.<\/p>\n

<\/span><\/span><\/p>\n

Et l\u2019histoire se r\u00e9p\u00e8te : en 2004 Doom III vient tout juste de sortir, Carmack commence \u00e0 travailler sur la technologie de son prochain moteur pendant que le reste de l\u2019\u00e9quipe est occup\u00e9 par le portage Xbox. Le jeu bas\u00e9 sur cette technologie est alors appel\u00e9 Darkness, pendant un an id Software travaille sur ce projet avant de d\u00e9cider dans un \u00e9clair de lucidit\u00e9 qu\u2019un nouveau FPS se passant encore dans des couloirs sombres \u00e9tait peut \u00eatre un peu redondant. La firme entre alors dans une phase de brainstorming au cours de laquelle plusieurs id\u00e9es sont lanc\u00e9es et notamment celle de pouvoir utiliser des v\u00e9hicules pour se d\u00e9placer dans des paysages post apocalyptiques immenses. Rage \u00e9tait n\u00e9.<\/p>\n

<\/span><\/span><\/p>\n

Pas de panique toutefois, id Software n\u2019abandonne pas compl\u00e8tement sa formule classique, on retrouve donc des passages avec des flingues et une vue \u00e0 la premi\u00e8re personne. Le jeu prend peu \u00e0 peu forme autour d\u2019un univers ouvert dans lequel vous pourrez accomplir des missions comme bon vous semble, au milieu desquelles se d\u00e9roulent des courses de buggys. L\u2019argent que vous gagnerez dans ces courses pourra \u00eatre r\u00e9investi dans des boutiques pour acheter des armes ou am\u00e9liorer votre v\u00e9hicule.<\/p>\n

Inutile de s\u2019attarder plus longuement sur le jeu vu ce qu\u2019id Software a r\u00e9v\u00e9l\u00e9 jusqu\u2019ici, si vous souhaitez vous faire votre propre id\u00e9e n\u2019h\u00e9sitez pas \u00e0 vous rendre chez nos coll\u00e8gues de JeuxVideoPC.com pour t\u00e9l\u00e9charger la vid\u00e9o du trailer si ce n\u2019est d\u00e9j\u00e0 fait.<\/p>\n

id Tech 5, la technologie<\/h2>\n

\n\"Image<\/a><\/span><\/span>Int\u00e9ressons nous maintenant au tout dernier moteur de John Carmack, mais pour commencer en douceur avant de parler de MegaTexture, virtualisation, shaders et autres Shadow Maps, attardons nous quelques instants sur le nom de ce moteur\u00a0: id Tech 5. En effet il marque un changement de politique chez id Software peut \u00eatre plus profond que ce que l\u2019on peut penser au premier abord. Jusqu\u2019ici tous les moteurs maisons de la firme texane \u00e9taient baptis\u00e9s en fonction du premier jeu \u00e0 les avoir utilis\u00e9. Pourquoi donc ne pas avoir baptis\u00e9 ce moteur Rage Engine\u00a0? Parce que cela posait plusieurs probl\u00e8mes. Tout d\u2019abord RAGE est le nom du moteur de Rockstar (Rockstar Advanced Game Engine), et comme si cette raison n\u2019\u00e9tait d\u00e9j\u00e0 pas assez r\u00e9dhibitoire il faut aussi ajouter que ce n\u2019\u00e9tait sans doute pas judicieux d\u2019un point de vue marketing.<\/p>\n\n\n\n\n\n

<\/p>\n\n

En effet appeler des moteurs Doom III ou Quake III Engine ne posait aucun souci vu la c\u00e9l\u00e9brit\u00e9 de ces licences et le fait qu\u2019elles \u00e9taient intimement li\u00e9es \u00e0 id Software. Mais Rage comme nous l\u2019avons vu peut faire r\u00e9f\u00e9rence \u00e0 beaucoup de soci\u00e9t\u00e9s dans le monde du jeu vid\u00e9o\u00a0: on a d\u00e9j\u00e0 cit\u00e9 l\u2019exemple de Rockstar mais il y a aussi une ancienne soci\u00e9t\u00e9 appel\u00e9e Rage Software c\u00e9l\u00e8bre pour ses benchmarks jeux Incoming ou Expandable.<\/p>\n\n\n\n\n\n

<\/p>\n\n

\"Image<\/a><\/span><\/span><\/span><\/span><\/p>\n\n\n\n\n\n

<\/p>\n\n

Rage Engine \u00e9tant donc hors de question comment appeler ce moteur\u00a0? Le choix s\u2019est donc port\u00e9 sur id Tech 5 qui a le m\u00e9rite d\u2019\u00eatre clair\u00a0: il s\u2019agit de la cinqui\u00e8me g\u00e9n\u00e9ration de la technologie d\u2019id. Cette num\u00e9rotation rend aussi les choses plus explicites pour les futurs acheteurs potentiels\u00a0: il est d\u00e9sormais \u00e9vident de d\u00e9terminer la derni\u00e8re version des moteurs id Software, comme chez leur concurrent direct Epic.<\/p>\n

La concurrence<\/h2>\n

\n\"Image<\/a><\/span><\/span>Puisque nous \u00e9voquons le sujet, parlons justement d\u2019Epic dont la mont\u00e9e en puissance de ces derni\u00e8res ann\u00e9es a semble-t-il influenc\u00e9 id. Il faut dire que Tim Sweeney et sa bande ont parfaitement su g\u00e9rer les choses, ils sont arriv\u00e9s exactement au bon moment, juste avant la nouvelle g\u00e9n\u00e9ration de consoles, avec la bonne technologie (orient\u00e9e Shader Model 3.0) et surtout le bon discours. En effet en 2004 lorsqu\u2019Epic fait sa premi\u00e8re d\u00e9monstration tous les \u00e9diteurs ont les yeux riv\u00e9s sur les Xbox 360 et PS3 dont l\u2019arriv\u00e9e approche et effraie aussi. On ne parle que d\u2019une explosion du budget des jeux et d\u2019une complexit\u00e9 de programmation accrue \u00e0 cause des architectures multi-cores.<\/p>\n\n\n\n\n\n

<\/p>\n\n

\"Image<\/a><\/span><\/span>Et voila que d\u00e9boule Epic avec un moteur qui semble r\u00e9soudre d\u2019un coup de baguette magique tous ces probl\u00e8mes. Et ils n\u2019\u00e9conomisent pas leurs efforts\u00a0: en 2005 ils sont partout, pour pr\u00e9senter Gears of War sur Xbox 360 ou encore faire une d\u00e9monstration d\u2019Unreal Tournament sur PS3 qui tourne d\u00e9j\u00e0 \u00e9tonnamment bien en exploitant pourtant uniquement le PPU. En face de \u00e7a id Software ne peut pas lutter\u00a0: le moteur de Doom III qui vient de sortir ne conna\u00eet pas le m\u00eame succ\u00e8s. Arriv\u00e9 entre deux g\u00e9n\u00e9rations il est trop lourd pour la Xbox et pas adapt\u00e9 aux nouvelles consoles vu qu\u2019il n\u2019est pas thread\u00e9 et utilise peu les shaders. De plus ses outils semblent archa\u00efques compar\u00e9s \u00e0 ceux de l\u2019Unreal Engine.<\/p>\n\n\n\n\n\n

<\/p>\n\n

\"Image<\/a><\/span><\/span><\/span><\/span><\/p>\n\n\n\n\n\n

<\/p>\n\n

L\u2019Unreal Engine conna\u00eet donc un engouement sans pr\u00e9c\u00e9dent et en l\u2019absence de concurrence digne de ce nom s\u2019impose comme LE standard de fait aupr\u00e8s de la plupart des \u00e9diteurs, m\u00eames les plus improbables comme Sega, EA (pourtant propri\u00e9taire de Criterion et de ce fait du moteur Renderware) et m\u00eame Square Enix\u00a0! La plupart des studios vont cependant vite redescendre sur terre\u00a0: le moteur est loin d\u2019\u00eatre aussi magique que Mark Rein ou Tim Sweeney le laissaient entendre. En particulier malgr\u00e9 les efforts du marketing pour vanter ses capacit\u00e9s multi-plateformes, l\u2019Unreal Engine 3 est avant tout un moteur qui a \u00e9t\u00e9 con\u00e7u avec le PC \u00e0 l\u2019esprit et le passage sur console n\u2019est pas aussi ais\u00e9 que pr\u00e9vu. Ainsi Epic tarde \u00e0 fournir le renderer multithread\u00e9, Gemini, indispensable pour tirer profit des derni\u00e8res consoles et de leurs processeurs multi-cores.<\/p>\n\n\n\n\n\n

<\/p>\n\n

De plus malgr\u00e9 la d\u00e9monstration encourageante en 2005 le moteur a des probl\u00e8mes \u00e0 \u00eatre adapt\u00e9 \u00e0 la PS3 et \u00e0 son architecture particuli\u00e8re. La plupart des studios multi-plateformes sont donc contraints de repousser la version PS3 de leurs jeux. Face \u00e0 cette situation Sony est m\u00eame contraint de d\u00e9p\u00eacher une \u00e9quipe dans les locaux d\u2019Epic afin de les aider \u00e0 exploiter au mieux le Cell. Enfin derni\u00e8rement la firme a b\u00e9n\u00e9fici\u00e9 d\u2019une publicit\u00e9 dont elle se serait bien pass\u00e9e\u00a0: d\u00e9\u00e7u par le moteur et consid\u00e9rant que les promesses initiales n\u2019avaient pas \u00e9t\u00e9 respect\u00e9es, Silicon Knight s\u2019est engag\u00e9 dans une proc\u00e9dure judiciaire contre Epic.<\/p>\n

Des objectifs ambitieux<\/h2>\n

\nPendant ce temps id Software travaillait en silence. Conscients des carences du moteur de Doom III mais aussi des limites de l\u2019Unreal Engine 3, ils ont con\u00e7us id Tech 5 autour de plusieurs points essentiels. Le premier concerne la portabilit\u00e9. A l\u2019inverse des moteurs pr\u00e9c\u00e9dents d\u2019id Software ou d\u2019Epic, id Tech 5 a \u00e9t\u00e9 con\u00e7u d\u00e9s l\u2019origine pour tourner sur PC\/Mac mais aussi sur la PS3 ou la Xbox 360. Les GPU de ces deux consoles rendant les choses plus ais\u00e9es puisqu\u2019il s\u2019agit essentiellement de d\u00e9riv\u00e9s d\u2019architectures PC. L\u2019objectif \u00e9tait donc de pouvoir faire tourner le jeu d\u00e8s les premiers pas du d\u00e9veloppement sur l\u2019ensemble des plateformes, pas question de finir la version PC et ensuite de devoir tout reprendre pour essayer d\u2019adapter \u00e7a aux consoles de derni\u00e8re g\u00e9n\u00e9ration. Pour parvenir \u00e0 un tel r\u00e9sultat id Software s\u2019est donn\u00e9 les moyens en embauchant notamment Jon Olick, un ancien de chez Naughty Dog. Sp\u00e9cialiste du Cell, Olick a en particulier travaill\u00e9 sur un ensemble de biblioth\u00e8ques destin\u00e9es \u00e0 faciliter le d\u00e9veloppement PS3 et regroup\u00e9 sous le nom de Edge Toolkit.<\/p>\n

<\/span><\/span><\/p>\n

Le deuxi\u00e8me point primordial qui a influenc\u00e9 le design concerne le frame rate : id Tech 5 est con\u00e7u pour pouvoir assurer un frame rate de 60 images par seconde sur toutes les plates-formes alors que jusqu\u2019ici id Software visait plut\u00f4t les PC tr\u00e8s haut de gamme et un frame rate de 30 i\/s. Autant dire que le challenge est ambitieux. Evidemment rien ne force un jeu bas\u00e9 sur id Tech 5 \u00e0 tourner \u00e0 60 i\/s, mais il est ind\u00e9niable que ce choix a eu des cons\u00e9quences sur l\u2019architecture du moteur.<\/p>\n

<\/span><\/span><\/p>\n

Le dernier point, sans doute celui qui a fait le plus parler de lui, concerne donc la fameuse technologie de MegaTexture d\u00e9j\u00e0 entraper\u00e7ue dans Enemy Territory : Quake Wars. Derri\u00e8re ce nom se cache en fait plusieurs technologies : tout d\u2019abord deux textures (une texture de base, une normal map) d\u2019une taille de 32 768 x 32 768, largement au-del\u00e0 des capacit\u00e9s du hardware (8 192 x 8 192 pour les cartes compatibles Direct3D 10). Ensuite un ensemble de techniques de compression est utilis\u00e9 afin de prendre ces deux textures de 4 Go chacune, de les combiner en un fichier de 5 Go puis de le compresser en un fichier d\u2019environ 500 Mo. Tout cela est bien joli mais m\u00eame avec les cartes modernes il est impossible de charger une telle quantit\u00e9 de donn\u00e9es en VRAM et quand bien m\u00eame ce serait le cas, le GPU ne saurait quoi en faire. Pour g\u00e9rer cette texture, un ensemble d\u2019algorithmes d\u00e9compose donc l\u2019image initiale en tiles<\/i> de 128 x 128 texels et les charges sur la carte \u00e0 la vol\u00e9e, uniquement lorsqu\u2019elles sont n\u00e9cessaires. R\u00e9sultat : un terrain textur\u00e9 de fa\u00e7on unique, sans motif r\u00e9p\u00e9titif ni jointures disgracieuses venant briser l\u2019illusion et une consommation de VRAM r\u00e9duite.<\/p>\n

La virtualisation de textures<\/h2>\n

\nLe probl\u00e8me de cette premi\u00e8re version de la technologie est qu\u2019elle ne pouvait s\u2019appliquer qu\u2019aux terrains, ou plus pr\u00e9cis\u00e9ment \u00e0 toute g\u00e9om\u00e9trie pouvant \u00eatre assimil\u00e9e \u00e0 un plan d\u00e9form\u00e9. Avec id Tech 5 John Carmack a pouss\u00e9 plus loin le concept afin de pouvoir l\u2019utiliser sur des g\u00e9om\u00e9tries arbitraires. Mais concr\u00e8tement comment \u00e7a marche\u00a0? Le concept est finalement proche de celui utilis\u00e9 par la gestion de la RAM sur les CPU\u00a0: une application et ses donn\u00e9es ne sont pas charg\u00e9es en RAM comme un seul bloc, en r\u00e9alit\u00e9 tout est d\u00e9compos\u00e9 en pages de quelques kilo octets et seules les donn\u00e9es n\u00e9cessaires \u00e0 un instant T sont pr\u00e9sentes en RAM, les autres restent sur le disque dur.<\/p>\n\n\n\n\n\n

<\/p>\n\n

\"Image<\/a><\/span><\/span><\/span><\/span><\/p>\n\n\n\n\n\n

<\/p>\n\n

Pour g\u00e9rer tout cela un m\u00e9canisme de traduction d\u2019adresses se charge de donner l\u2019illusion \u00e0 l\u2019application qu\u2019elle dispose d\u2019une zone m\u00e9moire contigu\u00eb dans laquelle toutes les donn\u00e9es sont disponibles alors qu\u2019en pratique les pages sont \u00e9parpill\u00e9es partout en m\u00e9moire et sur le disque\u00a0: c\u2019est le concept de m\u00e9moire virtuelle, le CPU ne manipule que des adresses virtuelles qui sont ensuite traduites en adresse physique par une unit\u00e9 d\u00e9di\u00e9e (la MMU\u00a0: Memory Management Unit). Si la page est pr\u00e9sente en m\u00e9moire l\u2019adresse virtuelle est remplac\u00e9e par la v\u00e9ritable adresse dans la RAM, sinon la page est charg\u00e9e en m\u00e9moire depuis le disque dur (on parle de d\u00e9faut de page). Cette technique permet plusieurs choses\u00a0: tout d\u2019abord un m\u00e9canisme de protection (la MMU qui se charge de la traduction d\u2019adresse ne laisse pas \u00e0 un processus l\u2019acc\u00e8s \u00e0 une page m\u00e9moire qui ne lui appartient pas) et surtout un m\u00e9canisme permettant d\u2019utiliser des applications n\u00e9cessitant plus de m\u00e9moire qu\u2019il n\u2019y en a physiquement dans l\u2019ordinateur.<\/p>\n\n\n\n\n\n

<\/p>\n\n

Ainsi sur un syst\u00e8me 32 bits, chaque processus dispose de son propre espace d\u2019adressage de 4 Go (en g\u00e9n\u00e9ral sous Windows 2 Go sont r\u00e9serv\u00e9s au noyau, le processus ne peut donc utiliser que 2 Go) et tant que sa consommation m\u00e9moire reste dans la limite de cette taille il n\u2019y a pas de probl\u00e8me, m\u00eame si l\u2019ordinateur dispose d\u2019une quantit\u00e9 de m\u00e9moire physique nettement plus faible. Il convient de noter qu\u2019aujourd\u2019hui la quantit\u00e9 de m\u00e9moire physique flirte dangereusement avec les limites de l\u2019adressage 32 bits acc\u00e9l\u00e9rant le besoin d\u2019une transition vers un adressage 64 bits.<\/p>\n\n\n\n\n\n

<\/p>\n\n

\"Image<\/a><\/span><\/span><\/span><\/span><\/p>\n\n\n\n\n\n

<\/p>\n\n

Revenons \u00e0 id Tech 5. Le probl\u00e8me consistant \u00e0 placer une texture de plusieurs Go dans une m\u00e9moire de quelques centaines de Mo au mieux ne vous rappelle-t-il pas celui que nous venons de d\u00e9crire\u00a0? Et bien la solution est exactement la m\u00eame\u00a0: dans les faits cette immense texture n\u2019a jamais besoin d\u2019\u00eatre pr\u00e9sente en m\u00e9moire dans son int\u00e9gralit\u00e9, par cons\u00e9quent les textures comme nous l\u2019avons vues sont d\u00e9coup\u00e9es en tiles<\/i> et ceux-ci sont charg\u00e9s en VRAM uniquement selon les besoins, la RAM principale agit comme une zone de stockage interm\u00e9diaire, une sorte de m\u00e9moire cache venant tirer parti des principes de localit\u00e9 spatiale et temporelle. En effet lorsque le moteur demande une portion de la MegaTexture pour un frame donn\u00e9 il y a de fortes chances que pour le frame suivant il ait besoin d\u2019une portion proche. Ainsi lorsqu\u2019une partie est ramen\u00e9e depuis le disque dur puis d\u00e9compress\u00e9e, autant en prendre un peu plus que n\u00e9cessaire afin d\u2019acc\u00e9l\u00e9rer les acc\u00e8s suivants.<\/p>\n\n\n\n\n\n

<\/p>\n\n

Dans la th\u00e9orie c\u2019est tr\u00e8s beau, dans la pratique toute la difficult\u00e9 consiste \u00e0 d\u00e9terminer quelles pages sont n\u00e9cessaires pour un frame donn\u00e9, et ensuite \u00e0 programmer un shader permettant de texturer la g\u00e9om\u00e9trie avec toutes ses petites pages \u00e9parpill\u00e9es en VRAM.\u00a0Un des probl\u00e8mes se posant concerne notamment le filtrage\u00a0: que se passe-t-il par exemple aux bords des pages\u00a0? Si les pages sont charg\u00e9es sous la forme d\u2019un atlas de textures (plusieurs petites textures compact\u00e9es dans une grosse texture pour plus d\u2019efficacit\u00e9) l\u2019unit\u00e9 de texture du GPU utilisera des texels d\u2019une texture qui n\u2019a rien \u00e0 voir lors du filtrage, ce n\u2019est donc pas utilisable tel quel.<\/p>\n\n\n\n\n\n

<\/p>\n\n

\"Image<\/a><\/span><\/span><\/span><\/span><\/p>\n\n\n\n\n\n

<\/p>\n\n

Soyons clairs, John Carmack n\u2019a pas (encore\u00a0?) d\u00e9taill\u00e9 le fonctionnement de son algorithme. Il faut dire que sa volont\u00e9 d\u2019ouverture du temps de Doom III a peut \u00eatre co\u00fbt\u00e9 cher \u00e0 id Software. En effet plusieurs d\u00e9veloppeurs se sont inspir\u00e9s de ses travaux pour reprendre certains concepts tout en se d\u00e9p\u00eachant de sortir leurs jeux en premier, mais plus grave une soci\u00e9t\u00e9 comme Creative Labs a menac\u00e9 id Software de proc\u00e8s sur la base d\u2019un ancien brevet. Malgr\u00e9 cette absence de d\u00e9tails on peut quand m\u00eame faire quelques suppositions, pr\u00e9venons toutefois les \u00e2mes sensibles\u00a0: la partie qui suit est assez technique, si vous ne souhaitez pas entrer dans les d\u00e9tails de l\u2019algorithme mais juste avoir une id\u00e9e des possibilit\u00e9s offertes n\u2019h\u00e9sitez donc pas \u00e0 passer directement \u00e0 la section suivante.<\/p>\n

Suppositions sur l\u2019algorithme<\/h2>\n

\nConcernant la gestion des pages cela peut \u00eatre effectu\u00e9 avec un algorithme utilisant le GPU et le CPU de concert. Ainsi au d\u00e9but du frame la g\u00e9om\u00e9trie est rendue une premi\u00e8re fois dans un buffer d\u2019une taille pr\u00e9cise : chaque pixel repr\u00e9sente une page en m\u00e9moire. Avec une texture de 128 000 x 128 000 et des pages de 128 x 128 texels cela nous donne un buffer de 1000 x 1000, une r\u00e9solution particuli\u00e8rement faible pour nos GPU modernes. Ce rendu est donc extr\u00eamement rapide surtout qu\u2019il est tr\u00e8s basique : le but n\u2019est que de marquer certains pixels. Au lieu d\u2019utiliser les coordonn\u00e9es x, y, z de la g\u00e9om\u00e9trie on utilise les coordonn\u00e9es u, v qui servent \u00e0 l\u2019application de texture.<\/p>\n

<\/span><\/span><\/p>\n

Ce buffer est ensuite renvoy\u00e9 au CPU (les transferts dans ce sens sont peu optimis\u00e9s mais le buffer ne fait que 1 Mo ce qui ne pose aucun probl\u00e8me) qui peut d\u00e9terminer les pages n\u00e9cessaires en observant les pixels qui ont \u00e9t\u00e9 remplis. Il compare ensuite les pages n\u00e9cessaires pour ce frame \u00e0 celles d\u00e9j\u00e0 charg\u00e9es en VRAM en utilisant une table en m\u00e9moire.<\/p>\n

Si une page est n\u00e9cessaire mais pas encore pr\u00e9sente le chargement se fait de fa\u00e7on asynchrone (le chargement est lanc\u00e9 et sans attendre qu\u2019il soit termin\u00e9 le reste du traitement se poursuit). Enfin une texture combinant toutes les pages n\u00e9cessaires (un atlas de textures) est g\u00e9n\u00e9r\u00e9e puis envoy\u00e9e au GPU. Si les pages qui n\u2019\u00e9taient pas d\u00e9j\u00e0 pr\u00e9sentes en RAM n\u2019ont pu \u00eatre charg\u00e9es dans le temps imparti, une version de plus basse r\u00e9solution est utilis\u00e9e. Ensuite un fragment shader se charge de transformer les coordonn\u00e9es de texture virtuelles (elles adressent la grande texture) pour qu\u2019elles correspondent \u00e0 l\u2019atlas de texture g\u00e9n\u00e9r\u00e9.<\/p>\n

En ce qui concerne le filtrage de texture plusieurs solutions sont possibles : la premi\u00e8re consiste \u00e0 le faire manuellement dans le shader : cela n\u00e9cessite 4 adressages de textures et quelques op\u00e9rations arithm\u00e9tiques. Cette solution a peu de chance d\u2019\u00eatre celle utilis\u00e9e du fait de son efficacit\u00e9 : si vous suivez r\u00e9guli\u00e8rement les tests de GPU sur Presence-PC vous savez sans doute que les unit\u00e9s de texture voient leur nombre augmenter au ralenti par rapport aux unit\u00e9s de calcul, et que pour masquer un adressage de texture de plus en plus d\u2019op\u00e9rations arithm\u00e9tiques sont n\u00e9cessaires. Toute technique augmentant la charge \u00e0 ce niveau et laissant inutilis\u00e9e une partie du hardware (les unit\u00e9s de filtrage) est donc \u00e0 proscrire. Une autre possibilit\u00e9 serait d\u2019avoir un chargement un peu moins conservateur : lorsqu\u2019une page est n\u00e9cessaire, au lieu de ne ramener qu\u2019elle, on ram\u00e8ne en fait les 4 pages les plus proches du texel voulu. Ces 4 pages sont combin\u00e9es dans une texture plus grosse (256 x 256) et c\u2019est cette texture qui est charg\u00e9e dans l\u2019atlas.<\/p>\n

Si vous \u00eates vraiment f\u00e9rus de technique et souhaitez pousser plus loin les investigations vous pouvez vous r\u00e9f\u00e9rer \u00e0 ce document d\u00e9crivant un m\u00e9canisme proche de la virtualisation de textures utilis\u00e9e par id Tech 5, tout du moins dans l\u2019esprit. Pour ceux qui se sont \u00e9gar\u00e9s dans cette partie de l\u2019article malgr\u00e9 nos avertissements, prenez une aspirine et n\u2019abandonnez pas votre lecture, le reste est nettement plus facile \u00e0 suivre\u2026<\/p>\n

Les b\u00e9n\u00e9fices de la virtualisation de textures<\/h2>\n

\nTout ceci est bien joli mais en pratique, qu\u2019est ce que cela change au niveau du jeu ? Plusieurs choses : pour les graphistes cela permet de s\u2019affranchir de toute contrainte concernant les textures. Le graphiste peut utiliser des textures de la taille qu\u2019il veut et venir les placer sur ses mod\u00e8les sans se soucier des limitations du hardware ou du budget m\u00e9moire : au final tout sera combin\u00e9 dans une seule texture et l\u2019algorithme d\u2019adressage se charge de s\u2019y retrouver.<\/p>\n

Au niveau de l\u2019aspect graphique du jeu les MegaTextures offrent de multiples avantages. Les graphistes peuvent se permettre de nombreux d\u00e9tails, en effet contrairement \u00e0 un moteur classique o\u00f9 le m\u00e9lange des couches se fait \u00e0 l\u2019ex\u00e9cution ce qui finit par ralentir le GPU lorsque le nombre de superpositions devient trop \u00e9lev\u00e9, ici les couches sont toutes combin\u00e9es lors de la compilation de la MegaTexture. Ensuite \u00e0 l\u2019ex\u00e9cution pour le GPU il s\u2019agit d\u2019une seule texture classique. Les graphistes peuvent donc apporter plus de d\u00e9tails dans leurs textures sans impact sur les performances.<\/p>\n

Toujours en terme d\u2019am\u00e9lioration graphique les graphistes peuvent utiliser des fonctions de m\u00e9lange plus avanc\u00e9es. Les moteurs classiques utilisent en g\u00e9n\u00e9ral une simple interpolation lin\u00e9aire entre deux textures en utilisant une texture alpha. Afin de masquer la r\u00e9p\u00e9tition des textures ils utilisent en g\u00e9n\u00e9ral plusieurs textures alpha pour faire ce m\u00e9lange mais cette technique reste limit\u00e9e.<\/p>\n

<\/span><\/span><\/p>\n

Avec une unique texture sur laquelle travailler les graphistes ont un contr\u00f4le plus pr\u00e9cis : au lieu de combiner les textures en utilisant quelques fonctions de m\u00e9lange pr\u00e9d\u00e9finies ils peuvent g\u00e9rer \u00e7a au texel pr\u00e8s en utilisant le m\u00e9lange qu\u2019ils veulent, inutile de se limiter \u00e0 une simple interpolation lin\u00e9aire. Les couches peuvent se m\u00e9langer en prenant en compte les informations de la normal map et les graphistes contr\u00f4lent tout \u00e7a pr\u00e9cis\u00e9ment.<\/p>\n

Dernier avantage cette fois en terme de performances : la virtualisation de textures permet un meilleur batching. Batching ? En fran\u00e7ais traitement par lot, un GPU n\u2019est finalement qu\u2019une machine \u00e0 \u00e9tats : le programmeur sp\u00e9cifie des \u00e9tats qui vont contr\u00f4ler la fa\u00e7on dont le GPU va rendre les triangles. Typiquement il s\u2019agit d\u2019activer l\u2019application de texture, de sp\u00e9cifier les textures, les shaders, les donn\u00e9es g\u00e9om\u00e9triques et de lancer le rendu. Pour obtenir les meilleures performances possibles il faut toutefois laisser au GPU la possibilit\u00e9 d\u2019amortir le co\u00fbt induit par le changement d\u2019\u00e9tats, en clair cela signifie changer les \u00e9tats et ensuite dessiner un nombre non n\u00e9gligeable de triangles partageant ces \u00e9tats. Des changements trop r\u00e9p\u00e9t\u00e9s auront un impact particuli\u00e8rement n\u00e9gatif pour les performances mais par moment il est impossible de faire autrement.<\/p>\n

En particulier le changement de textures est une des raisons les plus fr\u00e9quentes emp\u00eachant les gros batchs. Avec id Tech 5 et son unique MegaTexture ce probl\u00e8me est r\u00e9solu et John Carmack affirme pouvoir effectuer tout le rendu en seulement 3 batchs (un pour le d\u00e9cor, un pour les objets opaques, un pour les objets transparents) ce qui est particuli\u00e8rement peu. Evidemment tout cela est \u00e0 relativiser en fonction du co\u00fbt des algorithmes permettant cette virtualisation de textures, co\u00fbt qu\u2019il est impossible d\u2019\u00e9valuer vu le peu de d\u00e9tails s\u00fbrs dont nous disposons, mais si John Carmack et toute l\u2019\u00e9quipe d\u2019id Software vise un frame rate de 60 i\/s m\u00eame sur les consoles il semble clair que cette technique n\u2019est pas si gourmande que \u00e7a.<\/p>\n

Ombres & Lumi\u00e8res<\/h2>\n

\nAvec Doom III John Carmack avait orient\u00e9 tous ses efforts sur l\u2019int\u00e9gration d\u2019un moteur d\u2019\u00e9clairage totalement unifi\u00e9 permettant de g\u00e9rer les lumi\u00e8res dynamiques ou statiques de la m\u00eame fa\u00e7on et de n\u2019avoir qu\u2019un seul m\u00e9canisme de gestion des ombres (les stencil shadows) appliqu\u00e9 sur l\u2019ensemble du monde.<\/p>\n

<\/span><\/span><\/p>\n

Trois ans plus tard il semble toujours aussi fier de l\u2019\u00e9l\u00e9gance de sa solution mais il faut reconna\u00eetre que si d\u2019un point de vue intellectuel tout ceci est bien s\u00e9duisant dans la pratique cela a pos\u00e9 plusieurs probl\u00e8mes. Le premier a notamment concern\u00e9 les mappers qui n\u2019\u00e9taient pas familiers de ce mode de gestion de la lumi\u00e8re. Jusqu\u2019ici ils avaient l\u2019habitude de mettre autant de lumi\u00e8res statiques qu\u2019ils en avaient besoin jusqu\u2019\u00e0 ce que la pi\u00e8ce soit correctement \u00e9clair\u00e9e, exactement comme ils le souhaitaient. Comme tout ceci \u00e9tait compil\u00e9 dans des lightmaps cela n\u2019avait aucun impact sur les performances \u00e0 l\u2019ex\u00e9cution. Avec le nouveau mod\u00e8le d\u2019\u00e9clairage chaque lumi\u00e8re avait un impact direct sur les performances, il fallait donc les placer avec parcimonie et bien peaufiner tous les param\u00e8tres ce qui demandait plus de temps.<\/p>\n

<\/span><\/span><\/p>\n

D\u2019un point de vue visuel le temps r\u00e9el ne permettait pas non plus d\u2019utiliser des mod\u00e8les d\u2019\u00e9clairage tr\u00e8s \u00e9volu\u00e9s, pas question d\u2019utiliser de la radiosit\u00e9 comme pour les lightmaps de Quake II. De plus les ombres stencil ne permettaient pas non plus de g\u00e9n\u00e9rer des ombres douces avec des performances compatibles avec le rendu temps r\u00e9el.<\/p>\n

Avec beaucoup de regrets John Carmack a donc du faire machine arri\u00e8re et reconna\u00eetre que ce n\u2019\u00e9tait peut \u00eatre pas le moment d\u2019unifier le mod\u00e8le d\u2019\u00e9clairage. Ainsi id Tech 5 revient \u00e0 un mod\u00e8le plus classique avec probablement (rien n\u2019est encore fix\u00e9 \u00e0 ce stade du d\u00e9veloppement) un \u00e9clairage pr\u00e9calcul\u00e9 pour le terrain et tous les \u00e9l\u00e9ments statiques, et des shadow maps pour les ombres dynamiques. Carmack a avou\u00e9 dans sa pr\u00e9sentation ne pas s\u2019\u00eatre encore concentr\u00e9 sur cet aspect du moteur et cela se remarque sur le trailer o\u00f9 on peut constater que les interactions ombres statiques\/ombres dynamiques ne sont pas parfaitement au point. Initialement lors du d\u00e9veloppement de Darkness, Carmack avait pr\u00e9vu de g\u00e9rer toutes les ombres avec des shadow maps mais leur impact sur les performances \u00e9tait trop p\u00e9nalisant pour un moteur privil\u00e9giant le framerate ce qui l\u2019a donc contraint \u00e0 revenir \u00e0 une solution hybride.<\/p>\n

id Studio, les outils<\/h2>\n

\nComme l\u2019a plaisant\u00e9 John Carmack, \u00ab\u00a0[id] a la r\u00e9putation, totalement m\u00e9rit\u00e9e, de d\u00e9velopper une bonne technologie mais avec des outils particuli\u00e8rement pauvres pour l\u2019exploiter<\/i>\u00a0\u00bb. Mais de nos jours une philosophie si minimaliste ne peut plus suffire. Cr\u00e9er des jeux prend de plus en plus de temps et la technologie n\u2019est plus le seul point sur lequel il faut se concentrer, le meilleure technologie du monde ne pourra pas briller si les graphistes et mappers n\u2019ont aucun moyen de l\u2019exploiter. Epic l\u2019a bien compris en proposant, avec l\u2019Unreal Engine 3, de nombreux outils particuli\u00e8rement r\u00e9ussis et intuitifs.<\/p>\n\n\n\n\n\n

<\/p>\n\n

Mais cette fois encore ils vont devoir faire face \u00e0 un id Software nouveau, qui a pris conscience de ses carences et s\u2019est donn\u00e9 les moyens de les corriger. id Tech 5 est donc fourni avec un ensemble d\u2019outils r\u00e9unis sous le nom d\u2019id Studio. Derri\u00e8re ce nom se cache\u00a0: l\u2019\u00e9diteur de niveaux, l\u2019\u00e9diteur de terrains, l\u2019\u00e9diteur de scripts, l\u2019\u00e9diteur d\u2019animations mais aussi des outils de gestion permettant de faire du report de bugs ou encore un calendrier pour l\u2019\u00e9quipe, une TODO List\u2026 Il s\u2019agit donc v\u00e9ritablement d\u2019un environnement int\u00e9gr\u00e9 d\u00e9di\u00e9 \u00e0 toutes les personnes impliqu\u00e9es dans la cr\u00e9ation du jeu.<\/p>\n\n\n\n\n\n

<\/p>\n\n

\"Image<\/a><\/span><\/span><\/span><\/span><\/p>\n\n\n\n\n\n

<\/p>\n\n

Mais de tous ces logiciels le plus int\u00e9ressant est ind\u00e9niablement l\u2019\u00e9diteur de terrains. Pendant longtemps, \u00e0 chaque fois que quelqu\u2019un mentionnait les MegaTextures dans une interview beaucoup de joueurs se demandaient comment les graphistes allaient pouvoir cr\u00e9er des textures aussi immenses. Ils imaginaient aussit\u00f4t le graphiste cr\u00e9er une image de 64 000 x 64 000 dans Photoshop et la remplir m\u00e9ticuleusement pixel par pixel. Heureusement les choses ne se passent vraiment pas comme cela\u00a0: en pratique le graphiste cr\u00e9e le mesh<\/i> de son terrain avec le modeleur qu\u2019il pr\u00e9f\u00e8re, et il lui applique une texture de base qui est r\u00e9p\u00e9t\u00e9e (cela ne pose pas de probl\u00e8me, cette texture ne constitue de toute fa\u00e7on que la couche de base). Ce terrain est ensuite import\u00e9 dans l\u2019\u00e9diteur de terrain avec sa texture de base, et l\u00e0 les graphistes peuvent travailler pour apporter les petites touches qui vont donner tout son caract\u00e8re au jeu.<\/p>\n\n\n\n\n\n

<\/p>\n\n

Concr\u00e8tement ils disposent d\u2019un ensemble de \u00ab\u00a0tampons\u00a0\u00bb, des petites textures de 128 x 128 pixels ou moins, qu\u2019ils s\u00e9lectionnent dans une palette et viennent appliquer sur le terrain par petites touches, exactement l\u00e0 o\u00f9 ils veulent ajouter des d\u00e9tails. La d\u00e9monstration est particuli\u00e8rement impressionnante, non seulement le r\u00e9sultat est r\u00e9ussi graphiquement mais l\u2019utilisation de l\u2019\u00e9diteur semble extr\u00eamement intuitive\u00a0: tout cela semble aussi simple qu\u2019utiliser un pinceau sous P<\/p>\n

Conclusion<\/h2>\n

\nApr\u00e8s plusieurs ann\u00e9es de silence, id Software sort de son mutisme et se relance dans la bataille des moteurs 3D en venant s\u2019attaquer s\u00e9rieusement \u00e0 l\u2019Unreal Engine 3, la r\u00e9f\u00e9rence actuelle. Si John Carmack n\u2019a pas perdu son habitude de concentrer ses efforts sur des technologies qui le motivent sur un plan intellectuel plut\u00f4t que de s\u2019orienter vers des effets visuels plus vendeurs et bien plus simples \u00e0 illustrer pour des joueurs, id Software a en revanche chang\u00e9 assez sensiblement de strat\u00e9gie commerciale.<\/p>\n\n\n\n\n\n

<\/p>\n\n

Il semble que le d\u00e9partement marketing de la firme a enfin r\u00e9alis\u00e9 que la concurrence avec Epic devait d\u00e9sormais \u00eatre prise tr\u00e8s au s\u00e9rieux et qu\u2019ils avaient sans doute pris du retard, trop habitu\u00e9s \u00e0 voir les d\u00e9veloppeurs venir acheter leur technologie spontan\u00e9ment, sur la base de leur seule r\u00e9putation. On les sent aujourd\u2019hui plus agressifs\u00a0: ils ont rationalis\u00e9 le nom de leurs moteurs, ils n\u2019h\u00e9sitent pas \u00e0 multiplier les d\u00e9monstrations (\u00e0 l\u2019Apple WWDC, \u00e0 l\u2019E3 et \u00e9videmment \u00e0 la QuakeCon) et ils d\u00e9veloppent des outils modernes pour exploiter au mieux leur moteur 3D. En d\u2019autres termes ils utilisent les armes d\u2019Epic pour les battre sur leur propre terrain.<\/p>\n\n\n\n\n\n

<\/p>\n\n

Enfin derni\u00e8re r\u00e9volution en date\u00a0: ils assouplissent d\u2019une certaine fa\u00e7on leur philosophie consistant \u00e0 vouloir rester petits \u00e0 tout prix (\u00e9tat d\u2019esprit qui avait, entres autres, \u00e9t\u00e9 la principale source du conflit opposant Romero \u00e0 Carmack \u00e0 l\u2019\u00e9poque de Quake) en constituant une deuxi\u00e8me \u00e9quipe au sein d\u2019id Software.<\/p>\n\n\n\n\n\n

<\/p>\n\n

Bref, id Software semble d\u00e9cider \u00e0 jouer un r\u00f4le pr\u00e9pond\u00e9rant durant cette g\u00e9n\u00e9ration et pour les joueurs, cela ne pr\u00e9sage que de bonnes choses. Entre Crytek et son impressionnant CRY Engine 2, Epic et son in\u00e9vitable Unreal Engine 3 et maintenant id Software avec id Tech 5 les d\u00e9veloppeurs de jeux ont le choix pour cr\u00e9er des jeux exploitant au mieux nos derni\u00e8res consoles et PC.<\/p>\n","protected":false},"excerpt":{"rendered":"

C\u2019est en plein mois d\u2019ao\u00fbt lors de la d\u00e9sormais traditionnelle QuakeCon que John Carmack a pr\u00e9sent\u00e9 le prochain projet d\u2019id Software : Rage. Si peu de choses sont connues sur le jeu qui semble particuli\u00e8rement\u2026<\/p>","protected":false},"author":82,"featured_media":58024,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"ep_exclude_from_search":false,"footnotes":""},"categories":[4072,4109,597,4068,4087],"tags":[],"hubs":[],"acf":{"post_show_excerpt":false,"post_source":{"title":"Presence PC","url":"http:\/\/www.presence-pc.com","target":""}},"yoast_head":"\nID Tech 5 : le nouveau moteur 3D de Carmack<\/title>\n<meta name=\"description\" content=\"C\u2019est en plein mois d\u2019ao\u00fbt lors de la d\u00e9sormais traditionnelle QuakeCon que John Carmack a pr\u00e9sent\u00e9 le prochain projet d\u2019id Software : Rage. Si peu de choses sont connues sur le jeu qui semble particuli\u00e8rement peu avanc\u00e9 dans son d\u00e9veloppement, le d ...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ID Tech 5 : le nouveau moteur 3D de Carmack\" \/>\n<meta property=\"og:description\" content=\"C\u2019est en plein mois d\u2019ao\u00fbt lors de la d\u00e9sormais traditionnelle QuakeCon que John Carmack a pr\u00e9sent\u00e9 le prochain projet d\u2019id Software : Rage. Si peu de choses sont connues sur le jeu qui semble particuli\u00e8rement peu avanc\u00e9 dans son d\u00e9veloppement, le d ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/\" \/>\n<meta property=\"og:site_name\" content=\"Tom\u2019s Hardware\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/TomsHardwareFrance\/\" \/>\n<meta property=\"article:published_time\" content=\"2007-09-12T11:52:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-22T17:16:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.tomshardware.fr\/content\/uploads\/sites\/3\/2007\/09\/carmack.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"450\" \/>\n\t<meta property=\"og:image:height\" content=\"338\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"David Corroy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@malibard\" \/>\n<meta name=\"twitter:site\" content=\"@tomshardware_fr\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/\"},\"author\":{\"name\":\"David Corroy\",\"@id\":\"https:\/\/www.tomshardware.fr\/#\/schema\/person\/7e879b8ff19551713f6055fd98dccf18\"},\"headline\":\"ID Tech 5 : le nouveau moteur 3D de Carmack\",\"datePublished\":\"2007-09-12T11:52:21+00:00\",\"dateModified\":\"2023-06-22T17:16:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/\"},\"wordCount\":5358,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.tomshardware.fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.tomshardware.fr\/content\/uploads\/sites\/3\/2007\/09\/carmack.jpg\",\"articleSection\":[\"Cartes graphiques\",\"D\u00e9veloppement\",\"Dossier\",\"Informatique\",\"Jeux-vid\u00e9o\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/\",\"url\":\"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/\",\"name\":\"ID Tech 5 : le nouveau moteur 3D de Carmack\",\"isPartOf\":{\"@id\":\"https:\/\/www.tomshardware.fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.tomshardware.fr\/content\/uploads\/sites\/3\/2007\/09\/carmack.jpg\",\"datePublished\":\"2007-09-12T11:52:21+00:00\",\"dateModified\":\"2023-06-22T17:16:14+00:00\",\"description\":\"C\u2019est en plein mois d\u2019ao\u00fbt lors de la d\u00e9sormais traditionnelle QuakeCon que John Carmack a pr\u00e9sent\u00e9 le prochain projet d\u2019id Software : Rage. Si peu de choses sont connues sur le jeu qui semble particuli\u00e8rement peu avanc\u00e9 dans son d\u00e9veloppement, le d ...\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/#primaryimage\",\"url\":\"https:\/\/www.tomshardware.fr\/content\/uploads\/sites\/3\/2007\/09\/carmack.jpg\",\"contentUrl\":\"https:\/\/www.tomshardware.fr\/content\/uploads\/sites\/3\/2007\/09\/carmack.jpg\",\"width\":450,\"height\":338},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.tomshardware.fr\/#website\",\"url\":\"https:\/\/www.tomshardware.fr\/\",\"name\":\"Tom\u2019s Hardware\",\"description\":\"Toute l'info hardware et gaming !\",\"publisher\":{\"@id\":\"https:\/\/www.tomshardware.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.tomshardware.fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.tomshardware.fr\/#organization\",\"name\":\"Tom\u2019s Hardware\",\"url\":\"https:\/\/www.tomshardware.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.tomshardware.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.tomshardware.fr\/content\/uploads\/sites\/3\/2023\/06\/th.png\",\"contentUrl\":\"https:\/\/www.tomshardware.fr\/content\/uploads\/sites\/3\/2023\/06\/th.png\",\"width\":1000,\"height\":1000,\"caption\":\"Tom\u2019s Hardware\"},\"image\":{\"@id\":\"https:\/\/www.tomshardware.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/TomsHardwareFrance\/\",\"https:\/\/x.com\/tomshardware_fr\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.tomshardware.fr\/#\/schema\/person\/7e879b8ff19551713f6055fd98dccf18\",\"name\":\"David Corroy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.tomshardware.fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a08bb358c2a9fc36265e8f3225c5de08?s=64&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a08bb358c2a9fc36265e8f3225c5de08?s=64&d=mm&r=g\",\"caption\":\"David Corroy\"},\"description\":\"Passionn\u00e9 par l'univers du num\u00e9rique et fondateur des plateformes influentes Phonandroid, PaperGeekFr et PlusDeBonsPlans, je suis un geek de la premi\u00e8re heure depuis 1998 et un expert en SEO depuis 2004. Mon parcours refl\u00e8te mon engagement pour l'innovation et ma qu\u00eate constante d'optimisation dans le domaine du seo et de l\u2019intelligence artificielle\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/bernard-david-corroy\/\",\"https:\/\/x.com\/malibard\"],\"url\":\"https:\/\/www.tomshardware.fr\/author\/david\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"ID Tech 5 : le nouveau moteur 3D de Carmack","description":"C\u2019est en plein mois d\u2019ao\u00fbt lors de la d\u00e9sormais traditionnelle QuakeCon que John Carmack a pr\u00e9sent\u00e9 le prochain projet d\u2019id Software : Rage. Si peu de choses sont connues sur le jeu qui semble particuli\u00e8rement peu avanc\u00e9 dans son d\u00e9veloppement, le d ...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/","og_locale":"fr_FR","og_type":"article","og_title":"ID Tech 5 : le nouveau moteur 3D de Carmack","og_description":"C\u2019est en plein mois d\u2019ao\u00fbt lors de la d\u00e9sormais traditionnelle QuakeCon que John Carmack a pr\u00e9sent\u00e9 le prochain projet d\u2019id Software : Rage. Si peu de choses sont connues sur le jeu qui semble particuli\u00e8rement peu avanc\u00e9 dans son d\u00e9veloppement, le d ...","og_url":"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/","og_site_name":"Tom\u2019s Hardware","article_publisher":"https:\/\/www.facebook.com\/TomsHardwareFrance\/","article_published_time":"2007-09-12T11:52:21+00:00","article_modified_time":"2023-06-22T17:16:14+00:00","og_image":[{"width":450,"height":338,"url":"https:\/\/www.tomshardware.fr\/content\/uploads\/sites\/3\/2007\/09\/carmack.jpg","type":"image\/jpeg"}],"author":"David Corroy","twitter_card":"summary_large_image","twitter_creator":"@malibard","twitter_site":"@tomshardware_fr","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/#article","isPartOf":{"@id":"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/"},"author":{"name":"David Corroy","@id":"https:\/\/www.tomshardware.fr\/#\/schema\/person\/7e879b8ff19551713f6055fd98dccf18"},"headline":"ID Tech 5 : le nouveau moteur 3D de Carmack","datePublished":"2007-09-12T11:52:21+00:00","dateModified":"2023-06-22T17:16:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/"},"wordCount":5358,"commentCount":0,"publisher":{"@id":"https:\/\/www.tomshardware.fr\/#organization"},"image":{"@id":"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/#primaryimage"},"thumbnailUrl":"https:\/\/www.tomshardware.fr\/content\/uploads\/sites\/3\/2007\/09\/carmack.jpg","articleSection":["Cartes graphiques","D\u00e9veloppement","Dossier","Informatique","Jeux-vid\u00e9o"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/","url":"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/","name":"ID Tech 5 : le nouveau moteur 3D de Carmack","isPartOf":{"@id":"https:\/\/www.tomshardware.fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/#primaryimage"},"image":{"@id":"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/#primaryimage"},"thumbnailUrl":"https:\/\/www.tomshardware.fr\/content\/uploads\/sites\/3\/2007\/09\/carmack.jpg","datePublished":"2007-09-12T11:52:21+00:00","dateModified":"2023-06-22T17:16:14+00:00","description":"C\u2019est en plein mois d\u2019ao\u00fbt lors de la d\u00e9sormais traditionnelle QuakeCon que John Carmack a pr\u00e9sent\u00e9 le prochain projet d\u2019id Software : Rage. Si peu de choses sont connues sur le jeu qui semble particuli\u00e8rement peu avanc\u00e9 dans son d\u00e9veloppement, le d ...","inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.tomshardware.fr\/id-tech-5-le-nouveau-moteur-3d-de-carmack\/#primaryimage","url":"https:\/\/www.tomshardware.fr\/content\/uploads\/sites\/3\/2007\/09\/carmack.jpg","contentUrl":"https:\/\/www.tomshardware.fr\/content\/uploads\/sites\/3\/2007\/09\/carmack.jpg","width":450,"height":338},{"@type":"WebSite","@id":"https:\/\/www.tomshardware.fr\/#website","url":"https:\/\/www.tomshardware.fr\/","name":"Tom\u2019s Hardware","description":"Toute l'info hardware et gaming !","publisher":{"@id":"https:\/\/www.tomshardware.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.tomshardware.fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.tomshardware.fr\/#organization","name":"Tom\u2019s Hardware","url":"https:\/\/www.tomshardware.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.tomshardware.fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.tomshardware.fr\/content\/uploads\/sites\/3\/2023\/06\/th.png","contentUrl":"https:\/\/www.tomshardware.fr\/content\/uploads\/sites\/3\/2023\/06\/th.png","width":1000,"height":1000,"caption":"Tom\u2019s Hardware"},"image":{"@id":"https:\/\/www.tomshardware.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/TomsHardwareFrance\/","https:\/\/x.com\/tomshardware_fr"]},{"@type":"Person","@id":"https:\/\/www.tomshardware.fr\/#\/schema\/person\/7e879b8ff19551713f6055fd98dccf18","name":"David Corroy","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.tomshardware.fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a08bb358c2a9fc36265e8f3225c5de08?s=64&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a08bb358c2a9fc36265e8f3225c5de08?s=64&d=mm&r=g","caption":"David Corroy"},"description":"Passionn\u00e9 par l'univers du num\u00e9rique et fondateur des plateformes influentes Phonandroid, PaperGeekFr et PlusDeBonsPlans, je suis un geek de la premi\u00e8re heure depuis 1998 et un expert en SEO depuis 2004. Mon parcours refl\u00e8te mon engagement pour l'innovation et ma qu\u00eate constante d'optimisation dans le domaine du seo et de l\u2019intelligence artificielle","sameAs":["https:\/\/www.linkedin.com\/in\/bernard-david-corroy\/","https:\/\/x.com\/malibard"],"url":"https:\/\/www.tomshardware.fr\/author\/david\/"}]}},"_links":{"self":[{"href":"https:\/\/www.tomshardware.fr\/wp-json\/wp\/v2\/posts\/58023"}],"collection":[{"href":"https:\/\/www.tomshardware.fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tomshardware.fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tomshardware.fr\/wp-json\/wp\/v2\/users\/82"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tomshardware.fr\/wp-json\/wp\/v2\/comments?post=58023"}],"version-history":[{"count":0,"href":"https:\/\/www.tomshardware.fr\/wp-json\/wp\/v2\/posts\/58023\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tomshardware.fr\/wp-json\/wp\/v2\/media\/58024"}],"wp:attachment":[{"href":"https:\/\/www.tomshardware.fr\/wp-json\/wp\/v2\/media?parent=58023"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tomshardware.fr\/wp-json\/wp\/v2\/categories?post=58023"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tomshardware.fr\/wp-json\/wp\/v2\/tags?post=58023"},{"taxonomy":"hubs","embeddable":true,"href":"https:\/\/www.tomshardware.fr\/wp-json\/wp\/v2\/hubs?post=58023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}