Les moteurs 3D d'aujourdhui - Aussi compliqués que celui de Duke 3D ? - Algo - Programmation
Marsh Posté le 06-08-2004 à 23:57:05
c'est pas parce que tu as un niveau d'abstraction élevé que tu fais des trucs débiles. C'est la toute l'histoire de la science : Einstein s'est appuyé sur des siècles de physique, on peut pas dire que son travail soit méprisable. Plus tu as d'abstraction plus tu peux faire programmer proche du raisonnement humain, plus tu peux exprimer de concepts complexes et fins.
Marsh Posté le 07-08-2004 à 00:01:37
Demande à john carmack si son tout nouveau moteur 3D Doom 3 a été plus facile à programmer que ce (minable à l'heure actuelle) moteur build duke 3D.
Citation : Donc, c'est plus "simple" qu'autrefois à programmer un jeu en 3D... Car il suffit de connaître... |
Ouais c'est beaucoup plus simple, il suffit de cliquer sur "créer moteur 3D" et tout se fait automatiquement en 2 minutes.
Marsh Posté le 07-08-2004 à 00:04:17
Je pense que c'est plus simple oui, mais que on peut faire beaucoups plus compliqué et aller trés trés loin de nos jours.
Marsh Posté le 07-08-2004 à 00:08:26
quiconque a écrit : Demande à john carmack si son tout nouveau moteur 3D Doom 3 a été plus facile à programmer que ce (minable à l'heure actuelle) moteur build duke 3D.
|
Arf. Je veux le même soft alors
Sinon pour répondre au topic initial:
avec DirectX et OpenGL il serait peut être "relativement" facile de refaire un moteur avec les mêmes fonctions que Duke, maintenant en 10 ans ce qu'on demande aux moteurs 3D a quand même grandement évolué. Entre les bump-mappings, pixel shaders et autres joyeusetés je ne pense vraiment pas qu'un moteur soit plus facile à créer de nos jours, du moins pas si on veut vendre un jeu basé dessus. Maintenant si c'est juste pour faire une petite démo vite fait c'est autre chose...
Marsh Posté le 07-08-2004 à 00:09:59
Citation : Je lui dis que les cartes graphiques 3D ont permi aux programmeurs de moins se creuser la tête pour faire leur moteur 3D |
Oui mais ton moteur 3D que tu fais en assembleur(bonne chance soit dit, en passant) tu pourras le réutiliser (en partie) pour tel ou tel jeu vidéo, sauf que ce sera toujours aussi lent, l'avantage des cartes graphiques c'est qu'elles sont spécialisées pour ce genre de traitements, ça ne veut pas dire pour autant que tout est devenu ultra-simple .
Et puis sincèrement, n'as-tu pas remarqué de différences visuelles flagrantes entre aujourd'hui et ... duke 3D ?
Regarde Doom 3 (qui est sorti il n'y a pas très longtemps), la prouesse qui a été faite par john carmack (programmeur des moteurs 3D de doom et quake) c'est à tomber par terre, aurait-il été possible de faire ça sans carte graphique ? Evidemment non, car les processeurs seuls n'auraient pas été capable de traiter la masse d'informations d'un tel moteur
Marsh Posté le 07-08-2004 à 00:16:20
Non, c'est chaud, affreusement chaud, rien que se tenir aux fait des evolutions hardware demande un tps fou, alors en plus fouiller dans la litterature, implanter et optimiser le bordeL....
certes on a des cartes qui font une part du boulot, mais maintenant les joueurs rigolent pu et passent le moindre detail a la loupe.
Marsh Posté le 07-08-2004 à 00:28:12
Citation : Quel est votre opinion à ce sujet ? |
que tu vois qu'un bout du probleme. Tu vois la partie affichage brute. rien que la il y aurait bcp a dire, mais un moteur 3D c'est aussi tout un tas de basard qui va autout, du niveau de detail dynamique au VSD. Si tu t'ennuies va lire la doc sur les occlusions par ex (hierarchical occlusion, pour faire bien, y'a ca sur le site a dPvs, fait gaffe le pdf est assez gros), un peu de litterature sur les shadow volume (nvidia a du matos la dessus) etc etc....et tu verras que c'est une somme de travail faramineuse, qui n'a rien de trivial. Faire un effet graphique dans un coin c'est bien sympa, mais faire un vrai moteur qui melange tout ca sans ramer ni se vautrer comme une buse, c'est autre chose
Marsh Posté le 07-08-2004 à 00:30:54
Il y a tout autant d'optimisation à faire qu'avant, donc tout autant de boulot. Moins d'asm, certes, mais certainement bcp plus de choses à connaitre et à assimiler.
Marsh Posté le 07-08-2004 à 00:31:02
John Carmack a bien bossé (sur Quake), mais faut pas oublier Michael Abrash.
Les Moteurs 3D de ce jour sont bien plus complexes à mettre en oeuvre. On se balade dans l'optique, la mécanique... Il faut que ça tourne vite, très vite ! Alors qu'il y a dix ans on se battait pour avoir la routine d'affichage de textures la plus rapide.
Le challenge est simplement différent.
Marsh Posté le 07-08-2004 à 03:43:49
oui c'est plus compliqué.
la rasterisation rapide n'est plus qu'une infime partie du probleme, à l'heure actuelle. Il faut vivre avec son temps.
Marsh Posté le 07-08-2004 à 08:28:46
Bah, il suffit juste de compter le nombre de personnes qui programme le moteur 3D, par rapport à il y a dix ans, il y a pas photo
Marsh Posté le 07-08-2004 à 09:02:04
christophe_d13 a écrit : |
C'est quoi votre définition exacte de moteur 3D? J'ai toujours considéré que ca concernait uniquement le rendu, mais se pourrait-il que le moteur physique en fasse partie?
Marsh Posté le 07-08-2004 à 11:15:19
Ace17> Le moteur 3D prend en compte un ensemble de choses, le rendu n'est qu'une partie.
pascal_> Sans être de mauvaise fois, le niveau des programmeurs n'est pas le même aujourd'hui. Il y a toujours autant de très bons, mais il y a de plus en plus de moyens.
Donc sur 20 ou 30 personnes, il doit y avoir de 2 ou 3 très bons...
Ce n'est qu'une constatation de ce je peux voir.
Marsh Posté le 07-08-2004 à 12:11:31
Marsh Posté le 07-08-2004 à 23:21:37
pascal_ a écrit : Bah, il suffit juste de compter le nombre de personnes qui programme le moteur 3D, par rapport à il y a dix ans, il y a pas photo |
Bof
Oui il y a plus de monde sur le moteur 3d mais il y'a aussi plus de level designers etc. Tous les domaines ont été affectés amha.
Marsh Posté le 09-08-2004 à 20:05:11
WhatDe a écrit : Bof |
Merci à vous pour toutes vos explications...
Vous allez peut-être rigoler, mais je n'ai jamais aimé me "cultiver" afin de vivre avec mon temps... j'ai toujours adoré inventer... produire... mais en ce qui concerne toute les connaissances (découvertes par les hommes en réfléchissant énormément), j'ai toujours presque "refusé" de vouloir les connaître, car ce serait céder à la "simplicité intellectuelle" que de vouloir PIQUER ce que d'autres se sont fait "chier" à trouver eux-même...
je sais bien que le challenge aujourd'hui n'est plus de se surpasser soi-même (et même d'ailleurs, il y a bien longtemps, depuis qu'on vit en société), mais je dois dire, que j'ai un cerveau tel qu'il veut à tout prix tout faire soi-même (le plus possible)
Mais, je sais bien que ce que je dis est absurde... et qu'on REGRESSE en voulant tout faire soi-même sans rien connaître de ce que font les autres...
mais, je dois dire que c'est effrayant de réaliser l'inculture totale qu'on possède en rapport avec l'ensemble des cultures cumulées de tous les cerveaux humains...
c'est EFFRAYANT !
vous ne trouvez pas ?
aller @+
et merci de m'avoir fait comprendre que le problème d'aujourd'hui est tout simplement différent... pour les moteurs 3D
Marsh Posté le 10-08-2004 à 01:27:14
david_paillot a écrit : mais je dois dire, que j'ai un cerveau tel qu'il veut à tout prix tout faire soi-même (le plus possible) |
Lis et apprends les démonstrations des résultats que tu utilises. Quand on comprend la théorie qu'il y a derriere ce dont on se sert, cette impression disparait.
Marsh Posté le 10-08-2004 à 01:32:43
david_paillot a écrit : |
Faut que tu réalises que "les autres", c'est pas un tout, et faut pas chercher a s'y comparer. Les autres ont tout inventé, mais personne n'a tout inventé. Les mathématiques, il a fallu des milliers de gens, pendant des milliers d'années, alors, forcément si on veut faire tout tout seul ca prend un peu de temps...
Marsh Posté le 10-08-2004 à 09:23:44
Ben on pourrait dire que c'est comme l'aseembleur, les cpu d'aujourd'hui sont tellement complexes qu'on interviens plus dessus comme sur les x86. Mais quand tu vois que les dernières innovations de Directx9 à savoir le pixel shader et le vertex shader ou l'assembleur est necessaire . . .
Marsh Posté le 10-08-2004 à 09:47:17
david_paillot a écrit : Merci à vous pour toutes vos explications... |
A relire ca l'esprit clair, tu serais pas un multi a allopassxp toi?
Marsh Posté le 10-08-2004 à 13:48:22
Taz a écrit : c'est pas parce que tu as un niveau d'abstraction élevé que tu fais des trucs débiles. C'est la toute l'histoire de la science : Einstein s'est appuyé sur des siècles de physique, on peut pas dire que son travail soit méprisable. Plus tu as d'abstraction plus tu peux faire programmer proche du raisonnement humain, plus tu peux exprimer de concepts complexes et fins. |
Je suis d'accord. Les programmeurs doivent créer de plus en plus d'algo de rendus qu'avant, meme si les fonctions de base de la 3D (masquage des faces cachées, applications de textures...) sont déjà implémentées.
Maintenant, il est certain que certaines avancées matérielles font aussi nettement progrésser les moteurs de rendus, comme les pixels shaders.
Marsh Posté le 06-08-2004 à 23:51:40
Bonjour
Pas moyen de raisonner mon frangin...
Je lui dis que les cartes graphiques 3D ont permi aux programmeurs de moins se creuser la tête pour faire leur moteur 3D (car la majorité des commandes essentielles sont déjà intégrées aux normes DIRECTX standarts des carte graphique 3D)
Qui va me contredire ?
C'est quand même pas aussi compliqué qu'avant depuis qu'il y a les cartes 3d accélératrice, n'est-ce pas ?
Par exemple... pour afficher plusieurs points en même temps... autrefois, c'était l'instruction "repmovsd"...
Et maintenant, c'est quoi ?
Pour programmer un moteur 3D aujourd'hui... on se sert des normes standarts DIRECTX des cartes graphiques directx...
N'est-ce pas ?
Donc, c'est plus "simple" qu'autrefois à programmer un jeu en 3D... Car il suffit de connaître...
Le problème, c'est pour les programmeurs qui étaient habitués à leur assembleur...
Comment peuvent-ils s'adapter à une "norme" graphique des cartes 3D... alors qu'ils ont leur propre style ?
C'est pour ça que la société des programmeurs de DUKE 3D n'a jamais pu oser mettre en vente une version de DUKE NUKEM 3D fonctionnant avec des cartes graphiques... sur Internet, etc.
Quel est votre opinion à ce sujet ?