12 votes

Différence entre le rendu 3D de Doom et de Quake

J'ai étudié les (anciennes) techniques de rendu 3D au cours des dernières semaines et je pense avoir maintenant une bonne compréhension de la façon dont fonctionne le rendu 3D dans Doom. Il utilise le raycasting pour rendre la scène 3D, utilise des sprites pour les objets et n'est donc pas de la "vraie" 3D. Il ne permet pas non plus de regarder vers le haut ou vers le bas, mais seulement à travers le cisaillement Y.

Quake est le premier "vrai" moteur 3D d'ID, il possède des objets qui peuvent être vus sous différents angles et permet de regarder vers le haut et vers le bas.

J'entends souvent parler de "vraie" 3D lorsque j'étudie ces techniques, mais je n'arrive pas à obtenir une explication claire de ce que signifie exactement cette vraie 3D. En quoi le rendu de Quake est-il différent de celui de Doom ?

Le monde de Quake utilise-t-il des sommets 3D et sont-ils tous projetés au lieu d'être raycastés pour les intersections ?

J'aimerais entendre une explication claire des différences !

P.S. Je sais que le code source de Quake est disponible, mais le FTP d'Id Software est en panne depuis des semaines et je ne peux le trouver nulle part ailleurs. Si quelqu'un sait où le trouver ailleurs, faites-le moi savoir.

15voto

Simon Howard Points 5392

Je tiens à préciser que le moteur de rendu de Doom n'est pas un raycaster (comme Wolfenstein 3D), c'est-à-dire qu'il ne fonctionne pas en lançant un rayon pour chaque colonne de l'écran. Il s'agit plutôt d'un moteur BSP. La géométrie du niveau est divisée en un arbre binaire, et cet arbre est parcouru pour rendre la scène.

À chaque point de l'arbre, il y a deux sous-arbres, et ceux-ci sont parcourus dans un ordre qui dépend de la position du joueur par rapport à la ligne qui les sépare. Cela permet de s'assurer qu'ils sont rendus dans l'ordre, de sorte que les murs éloignés sont occultés par les murs plus proches.

Les jeux comme Heretic et Hexen, qui ont ajouté cette possibilité, ont utilisé le cisaillement en Y, qui est essentiellement un hack. Cela revient à étendre la hauteur verticale de l'écran et à fournir une fenêtre qui se déplace de haut en bas.

Vous pouvez trouver plus d'informations sur le wiki de Doom et sur Wikipedia - tous deux sont issus d'un note d'information J'ai écrit sur tout il y a 2 ans.

J'espère que cela vous aidera !

4voto

Alexey Frunze Points 37651

Je ne pense pas qu'il y ait une seule définition universelle. La 3D la plus vraie possible est peut-être celle que l'on ne peut distinguer de ce que l'on voit dans la vie réelle, c'est-à-dire une qualité photographiquement réaliste du rendu des objets, de l'éclairage, des ombres, qui tient pleinement compte des changements qui se produisent en temps réel, qui crée la sensation de profondeur et qui évolue également en fonction de la position du spectateur, de l'utilisation de l'œil gauche, de l'œil droit ou des deux yeux et du changement de la mise au point. Actuellement, nous ne disposons pas d'une technologie aussi puissante dans nos ordinateurs et nos téléviseurs. L'expérience vécue jusqu'à présent bat tout ce qui est disponible sur le marché pour le grand public.

Par rapport à Doom, Quake disposait d'un éclairage avancé (via des cartes de lumière), d'un ombrage, d'un meilleur mappage des textures (via des cartes MIP, réduisant les artefacts d'aliasing observables lorsque l'on regarde des objets distants) et d'objets en 3D au lieu de sprites. Son espace de jeu n'était pas intrinsèquement plat comme Doom et le rendu permettait de regarder les choses sous différents angles comme vous le dites.

Plus de détails sont disponibles sur aquí y aquí .

Si vous êtes intéressé par la façon dont toutes ces choses cool de Quake peuvent être faites, lisez les livres de Michael Abrash, par exemple. Rêvasser en temps réel y Livre noir de la programmation graphique .

-1voto

subcog Points 1

Le moteur Doom a des limites importantes. Chaque carte est essentiellement en 2D, et l'apparence 3D est en grande partie une illusion. Chaque point de la carte n'a qu'un seul plancher et un seul plafond, il ne peut donc jamais y avoir de passages supérieurs. Il n'y a pas de rampes, seulement des escaliers et des murs. Toutes les lignes verticales sont dessinées exactement à la verticale, et il n'y a pas de regard vers le haut ou le bas.

-1voto

waskomo Points 11

L'apparence 3D de doom n'est pas moins une illusion que celle de quake, le moteur de quake pourrait afficher les mêmes cartes (s'il est porté) que doom, si vous interdisez le look up/down, alors ce serait toujours une 3D plus vraie à cause de ce qu'il fait sous le capot, malgré le fait qu'il ressemble à doom ? ou sera-t-il moins 3D alors ? le résultat serait le même.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X