id Tech 3
|
|
Vous pouvez partager vos connaissances en l’améliorant (comment ?) (voir l’aide à la rédaction).
|
L'id Tech 3, plus connu sous le nom de Quake III engine, est un moteur de rendu graphique 3D (moteur de jeu), a été développé par id Software et est utilisé par de nombreux jeux. Dans son heure de gloire, il était en concurrence avec le UnrealEngine pour les projets de jeu de tir subjectif. Ils étaient à l'époque tous deux sous licence commerciale.
Le moteur est une évolution directe des versions précédentes incluses dans Quake et Quake II.
À la QuakeCon 2005, John Carmack a annoncé que le code source du moteur Quake III serait libéré sous GPL. Le 19 août 2005, id Software a libéré les sources du moteur sous GPL, par contre les ressources du jeu vidéo Quake III Arena restent la propriété de id Software. Le code peut ainsi être téléchargé par qui le veut.
Infinity Ward, les créateurs de la série Call of Duty utilisent depuis Call of Duty 2 un moteur maison à base du code source d'id Tech 3[1] (la société avait déjà utilisé le moteur id Tech 3 en lui-même pour le premier titre). Depuis, le moteur a évolué pour les jeux successeurs de la série mais toujours sur le code source d'id Tech.
Sommaire |
[modifier] Evolutions par rapport à l'id Tech 2
Contrairement à l'id tech 2 qui avait concentré sa pipeline sur les problèmes relatifs au rendu logiciel, L'id Tech 3 a été spécialement optimisé pour l'affichage hardware avec openGL
Ce passage au "full hardware" a permis une simplification du moteur, d'où un très grand nombre de déclinaisons en moteurs dérivés.
[modifier] Bones
L'animation des personnages est fluide, calculée en temps réel avec les bones.
[modifier] Shaders
L'id Tech 3 introduit les fichiers shaders qui permettent un contrôle précis du rendu des textures. Ils permettent divers effets tels que la transparence, la réflexion, l'additive blending, le texture splatting...
[modifier] Simplification de l'arbre bsp
L'id Tech 2 utilisait deux arbes bsp. Un simplifié utilisé pour la détection de collisions, et un plus complexe qui stockait les faces afin d'assurer leur z-ordering. Le z-ordering étant inutile en full hardware, L'id tech 3 n'utilise plus qu'un seul arbre, qui gère à la fois les collisions et le culling.
[modifier] Stockage balancé et encapsulé de la géométrie
Les triangles ne sont plus découpés par les plans du bsp. Un triangle peut donc être rangé dans plusieurs feuilles. En réalité les triangles sont encapsulés dans des formes plus complexes (ngons, curves, trimeshes, entities) qui sont stockées dans le bsp.
Cela permet d'alléger les calculs processeur, qui ne se préoccupent plus du détail des triangles.
La nouvelle pipeline de rendu fonctionne désormais comme suit:
- frustum culling de l'arbre bsp, avec élimination des feuilles occluses grâce à l'occlusion précalculée avec un rapport cluster-to-cluster
- repérage de toutes les formes contenues dans ces feuilles visibles
- la carte vidéo rend tous les triangles contenus dans ces formes
[modifier] QuadPatch Curves
Le rendu hardware permettant d'augmenter considérablement la quantité de polygones, l'id_tech 3 introduit des formes courbes codées en quads qui permettent de se dégager de l'esthétique low-poly très anguleuse de l'id_tech 2.
Permet de modéliser des terrains extérieurs, des grottes, des coupoles, des colonnes, etc. Le joueur peut modifier la résolution polygonale des courbes dans le menu d'options en fonction des capacités mémoire de sa machine.
Ces courbes remplacent partiellement, voir totalement, la géométrie bsp générée par les brushes. Une map peut être entièrement modélisée en courbes, stockées dans un bsp généré à partir de brushes invisibles.
[modifier] Details
L'introduction des "detail brushes" permet de modéliser des environnements très détaillés sans ajouter de complexité inutile à la structure de l'arbre bsp. Le bsp est généré à partir de brushes simplifiés, et par dessus sont ajoutés les brushes de détail.
[modifier] Ombres dynamiques simplifiées
Projection d'ombres simplifiées sous forme d'une petite tache sombre. Projetées uniquement, à l'origine, sur les polygones simples, mais certains dérivés de l'id tech 3 ont rajouté la projection d'ombre sur les courbes.
[modifier] Textures séparées
Les textures ne sont plus rangées dans les fichiers map, de manière à alléger leur poids.
[modifier] Jeux utilisant le moteur de Quake 3
- Return to Castle Wolfenstein
- American McGee's Alice
- Star Trek Voyager : Elite Force
- Heavy Metal : F.A.K.K. 2
- Jedi Knight II: Jedi Outcast
- Soldier of Fortune II: Double Helix
- Medal of Honor : Débarquement allié
- Star Trek Elite Force 2
- Jedi Knight: Jedi Academy
- Wolfenstein: Enemy Territory
- Call of Duty
- Call of Duty : la Grande offensive
- Tremulous
- OpenArena
- Urban Terror
- Quake Live
- et bien d'autres ...