Jump to content

Archived

This topic is now archived and is closed to further replies.

UpByvM_jEBXe3b

Comparaison entre modelisation3D et prog graphique

Recommended Posts

Bonjour,

Je reviens d'un an au Pays de Galles, ou j'ai fait une 3ème année de Bachelor of Sciences. J'ai loupé une épreuve (Multimedia Systems Development), le devoir que j'avais rendu à l'époque n'était pas assez bon(ça m'étonne pas...).

Je dois le refaire, mais je ne suis pas beaucoup plus avancé qu'à l'époque.

Je vous donne le sujet (désolé pour les anglophobes, je peux faire une traduction si vous voulez).

The majority of modern computer games rely heavily on the seamless coordination of art and animation with technical development. Using an appropriate example, 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.

NOTE: Your product example does not have to be a game, but should include the technical aspects from both disciplines i.e. coding and scripting and the pre-rendered equivalent. You may relate the report to a modern 3D application or topic of your own choosing (with permission for your lecturer!). You are free to choose from OpenGL and DirectX in terms of the graphical programming component.

Il faut savoir que j'ai quasiment aucune connaissance dans ce domaine vu que je suis arrivé directement en 3ème année du BSc et que j'avais jamais étudié cette matière auparavant.(Déjà j'étais en DUT R&T donc niveau programmation c'est pas ça...)

Si vous avez des idées, des pistes, des indices, des liens, rien qu'un tout petit chose qui pourrait m'aider, ça serait déjà énorme.

Merci beaucoup!(Rien que pour l'interêt que vous avez porté au sujet ^^).

Share this post


Link to post
Share on other sites

tu prends ce que je te dis avec des pincettes (suis pas expert :transpi: )

mais je pense que la principale différence entre une modélisation/animation 3D et de la programmation graphique, c'est que le premier n'est que de l'animation, tu le met en boucle et hop tu as une "video", l'autre est comme un programme, en l'occurence, car tu intéragit avec ton "animation"

je sais pas si tu as compris ce que je voulais dire, mais je pense que pour le premier, on peut parler de la video Elephant Dream, et pour le deuxième, les jeux tels que le prochain Heavy Rain :iloveyou:

vala c'est très (trop) raccourci, mais c'est le principe :transpi:

Share this post


Link to post
Share on other sites

Bonjour,

Je ne comprends pas du tout le topo ;) Comment peut-on dissocier programmation et graphisme 3D ?

Quel est le sujet exactement ?

Share this post


Link to post
Share on other sites

Ah.... Erasmus c'est une super idée, on découvre les bons profs de l'étranger ^^

Donc nemesis, je vois ce que tu veux dire, mais en fait je pense pas qu'il s'attende à ça... Je crois qu'il veut qu'on parle des graphics pipeline(compression, frustrum,...), oui j'ai retenu ça ^^

Allegro, le sujet c'est la quote, j'ai pas d'autre indication, je peux donner les critères de notation

Guidance:

Your description should include all aspects of the graphics pipeline.

Your work should be a maximum of 2,000 words and take the form of a technical report with the inclusion of diagrams where appropriate, making full use of the Harvard referencing system.

Grading Criteria:

A grade ‘C’ will be awarded for a competent technical report that illustrates the basic differences between the disciplines using a relevant product example.

A grade ‘B’ will be awarded for a more complete technical report that demonstrates an understanding of the requirements and techniques involved in both disciplines. It will illustrate the appropriate technical differences and give consideration to design and implementation techniques that affect final product in terms of required quality.

A grade ‘A’ will be awarded for a complete technical that demonstrates authoritative grasp of the concepts and processes involved within both disciplines. It will critically analyse the techniques for design and implementation using a complex product example that clearly illustrates the effects of design, technology and production decisions on the final quality of a product.

Mais à part ça j'ai vraiment rien d'autre et c'est bien ce qui m'embête... Je suis en galère! En tout cas merci pour votre aide!

Share this post


Link to post
Share on other sites

Non là vraiment, je ne comprends pas du tout ce qu'ils veulent :byebye: Il faut dire que je n'ai jamais été étudiant, j'ai bossé dans la 3D pendant quelques années avec un peu de prog C++ ...

Share this post


Link to post
Share on other sites

:cartonrouge::transpi:;)

Salut. Si j'ai bien compris ( :transpi: ) ce qu'ils demande c'est que tu leur fasse un "comparatif technique" entre les 2 aspect d'un jeux vidéo:

-"3D modelling & animation" la modélisation 3D ( l'apparence )

-"the graphical programming equivalent in terms of the requirements for design" le codage qui permet l'animation ( in game et pas en cinématique je suppose )

Je l'ai compris comme cela, mais n'étant pas un pro et encore moins novice, je te donne l'avis d'un passionné qui manque de temps.

:transpi::craint::chinois:

Share this post


Link to post
Share on other sites

C'est ce que j'avais compris aussi initalement...

En gros, pour ramener ça à un niveau plus "bas", ça reviendrait à comparer l'apparence de la pomme avec les chromosomes qui permettent de lui donner son apparence..;.

J'aime mes anciens profs!

Share this post


Link to post
Share on other sites

:transpi: :transpi: ;)

:transpi:

Donc j'ai tout faux ou tu a bien compris mais mal traité le sujet :zarb: Faudrait voire si t'a encore des contacts avec celles et ceux qui on bien répondut pour leur demander.

:p:chinois: :chinois:

Share this post


Link to post
Share on other sites

Ouais j'ai un contact!

Il m'a donné son "assignment", en me précisant bien que c'était pas le top du top.

Le sujet je l'ai pas compris, donc mal traité. Je vous donnerai mes réponses quand j'aurai fini...

Share this post


Link to post
Share on other sites

Bon je file ce que j'ai fait en Français... C'est très limite, c'est même nul, enfin vu le niveau du sujet on va pas en tirer beaucoup plus... Les photos et la conclusion ne sont pas disponibles

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

Share this post


Link to post
Share on other sites

Mmm perso de ce que j'ai compris, c'est comparer la production 3D "modélisée" à la production 3D "programmée".

Exemple : la modélisation d'un terrain peut être programmée (donc générée) par un algorithme, mais il est également possible de le faire "à la main" avec un modeleur.

Chaque possibilité a ses avantages et inconvénient, la version modélisées sera toujours plus "artistique", on peut faire plus ce que l'on veut. Mais la version programmée donne une infinité de possibilités directement, plus rapidement, on peut plus facilement ajouter du détail car en modélisation ça prendrait trop de temps à travailler à la pierre près.

Pareil pour les animations, on peut animer "à la main" en déformant par exemple un vêtement (on fait plusieurs poses qui vont consituer l'animation) ou alors on peut faire un programme qui va calculer automatiquement les déformation du vêtement en fonction de divers facteurs (taille, poids, vent...).

Il y a enfin l'exemple des Shader graphique, qui permettent de donner des "effets" à un modèle 3D qu'une texture dessinée ou même animée aurait du mal à reproduire.

C'est que j'ai compris... Après je vois pas trop comment causer des pipelines graphiques là dedans donc je me goure peut-être de sujet. :ouioui:

Share this post


Link to post
Share on other sites

×
×
  • Create New...