Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

modélisation 3D, animation VS la programmation graphique


lol.2.dol

Messages recommandés

Bonjour, bonjour,

Bon voilà ce que j'ai fait, histoire que ça aide des gens dans le futur, c'est très basique et foireux, mais bon...

L'évolution des jeux vidéos fut rapide au cours des ces 10 dernières années a été très rapide. Les premiers essais étaient assez approximatif, et peu convaincant. La priorité des développeurs étaient à l'époque de développer le concept, la structure avant l'image et le rendu graphique. De toute façon, l'aspect graphique était fortement limité par la puissance des ordinateurs et des consoles. Les processeurs étaient limités, et l'achat de mémoire onéreux. Avec le temps et l'évolution technique, les jeux devinrent de plus en plus beau, les textures mieux travaillées grâce à des algorithmes plus puissants. On passa enfin d'un environnement 2D à un 3D. Depuis, la quasi totalité des jeux vidéos sont en 3D. L'évolution pourtant ne s'arrête pas là, les jeux sont de plus en plus réaliste.

Prenons pour exemple, un jeu qui fut un des premiers en 3D, et dont un nouvel épisode est sorti cette année: Alone in the Dark.

Alone in the Dark est sorti en 1992, il fut le premier jeu d'horreur en 3D, et le premier jeu toutes catégories confondues, qui avait des personnages et des animations interpolées.

Voici 2 screenshots de la première mouture:

 

Enfin dernièrement paru, un nouvel Alone in the Dark, qui inclut beaucoup des dernières améliorations et technologies.

Voici des screenshots:

 

On peut remarquer qu'entre ces 2 éditions, l'évolution graphique est très importante. Notamment au niveau de l'éclairage et la gestion des ombres; dans le premier épisode les personnages n'avaient pas d'ombre, seul les objets immobiles éclairés(la chaise) disposaient d'une ombre. La gestion de l'éclairage dynamique et des ombres demandaient beaucoup trop de consommation CPU.

La modélisation est réellement meilleurs, les personnages sont clairement moins « carré », et leur mouvement(que l'on ne peut bien entendu pas remarquer sur les photos) sont plus fluides.

Enfin les textures sont réellement plus proche de la réalité, moins « uni ».

 

Pour créer tout ces environnement 3D, il faut une application programming interface (API) comme par exemple OpenGL ou DirectX. Une API est une bibliothèque logicielle qui permet au code source de communiquer avec la carte graphique et/ou le processeur, d'où le nom d'Interface.

OpenGL est une API open source et donc disponible sur la quasi-totalité des ordinateurs, indépendamment de leur systèmes d'exploitation(MacOS,Linux), ainsi que sur toutes les consoles(excepté les Xbox). DirectX, ou plutôt Direct3D car DirectX est un ensemble d'API, est une interface propriétaire développée par Microsoft, elle n'est donc disponible que sur Windows, et les Xbox(et aussi la Dreamcast).

 

Pourtant bien que l'on choisisse de créer des environnements 3D, les joueurs ont toujours en face d'eux une surface plane: leur écran. Pour donner la sensation d'un environnement en trois dimensions, les développeurs utilisent la perspective. Les perspectives sont connues depuis l'antiquité, elle permettent de percevoir un monde en 3D sur une surface en 2D. Prenons pour exemple, le cube.

 

 

 

 

 

 

 

 

On peut voir ici un cube, l'oeil percoit un objet en 3D, pourtant il ne s'agit ni plus ni moins que de lignes de différentes tailles placées dans sur une surface en 2D donc. La perspective utilisée ici, est une perspective cavalière. Celle ci est fameuse dans l'art, pourtant elle n'est que très peu utilisée dans les jeux vidéo, car pour être viable, l'on doit garder le même point de vue.

 

La perspective perspective elle permet de changer de point de vue, et donc de voir ce que vois les yeux du personnage joué. Elle est donc utilisée dans les FPS(First Person Shooter).

 

On peut citer un jeu dans lequel la point de fuite est utilisée, Vanishing Point en 2001.

 

Pour arriver au terme du jeu, graphiquement parlant, il faut passer par tout une série d'étape, appelé graphics pipeline.

Ce processus est constitué de 6 étapes, allant la création des primitives geomtriques jusqu'à l'image finale. Les étapes, sont la modélisation, puis l'éclairage, la transformation visuelle, la projection, le clipping et enfin Scan conversion. Voici en image ce processus:

Les 2 APIs passent obligatoirement par ces étapes afin de réaliser l'image finale. La première étape qui est de créé les primitives géométriques est réalisée par le développeur. La suite est faîtes par les APIs(Direct3D ou OpenGL). A chaque fin de processus, une image est créé. Pour avoir un jeu fluide, il faut une image toute les 25 secondes!

 

 

Pour créer un modèle avec OpenGL, il faut faire le code soi même. Entrer ligne par ligne, le résultat que l'on veut obtenir. Même si certains logiciel peuvent aider.

 

Par exemple, voici ce que l'on peut doit faire pour faire un carré et un triangle blanc

int DrawGLScene(GLvoid) // Here's Where We Do All The Drawing

{

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);// Clear Screen And Depth Buffer

glLoadIdentity(); // Reset The Current Modelview Matrix

glTranslatef(-1.5f,0.0f,-6.0f); // Move Left 1.5 Units And Into The Screen 6.0

glBegin(GL_TRIANGLES); // Drawing Using Triangles

glVertex3f( 0.0f, 1.0f, 0.0f); // Top

glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left

glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right

glEnd(); // Finished Drawing The Triangle

glTranslatef(3.0f,0.0f,0.0f); // Move Right 3 Units

glBegin(GL_QUADS); // Draw A Quad

glVertex3f(-1.0f, 1.0f, 0.0f); // Top Left

glVertex3f( 1.0f, 1.0f, 0.0f); // Top Right

glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right

glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left

glEnd(); // Done Drawing The Quad

return TRUE; // Keep Going

}

Le code vient des tutoriaux NeHe.

Ce code est « entouré » de dizaine d'autre lignes qui permettent de choisir les librairies à utiliser.

 

Il faut donc beaucoup de ligne pour créer une simple chose.

 

De l'autre coté, pour créer un simple carré blanc, avec un logiciel de modélisation. Il suffit de 3 coups de souris. Par exemple avec Blender

 

Il manque les photos et la conclusion mais bon...

Modifié par lol.2.dol
Lien vers le commentaire
Partager sur d’autres sites

OMG ! Tu as fait un gros hors-sujet :-(

 

compare and contrast the various differences between 3D modelling & animation and the graphical programming equivalent in terms of the requirements for design, implementation and their relative effects on the quality of the final product.
Pas de comparaison ? Où mets-tu en parallèle la "modélisation + animation" et la programmation ? Où parles-tu de la qualité du produit fini par rapport à ces deux choses ?

C'est d'autant plus embêtant que le mot "quality" est répété un bon nombre de fois dans les "Grading Criteria" :-/

Lien vers le commentaire
Partager sur d’autres sites

Ouais, bon bah en fait j'ai fait la comparaison entre la modélisation pour jeux videos avec openGL et la modélisation pour animation avec Blender...

J'ai fait ça vite fait...

Et j'avoue c'est d'la merde

Mais en conclusion, je vais narrer quelque chose comme, pour le même boulot effectué une animation sera plus belle qu'un jeu... C'est pourri... ^^

 

Non mais je me suis directement inspiré de celui qui m'a envoyé son sujet, qui a eu une note acceptable. Lui il avait comparé(et encore je dis comparer, mais bon, il compare tout autant que moi), entre Lightwave et OpenGL. Avec une histoire de jambes.

Moi je fais dans le simple.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...