Moteurs 3D 
Généralités
Quezako
Dans un premier temps nous allons répondre à la question : Qu'est ce qu'un moteur 3D ?
C'est un ensemble de fonctions permettant la représentation d’objets dans un monde 3D, leur manipulation et leur affichage. Il permet la gestion simplifiée des effets graphiques tels que les effets d'ombre, d'eau, de ciel ou de reflets.. Il permet de se passer de la complexité de la gestion d'objets 3D. En effet il représente l'intermédiaire entre les librairies bas niveau tel que OpenGL ou DirectX et l'utilisation du moteur. Leur développement coûte cher en développement.

C'est une interface au dessus de DirectX ou OpenGL. Les API de bas niveau effectuent les calculs de rendu au service du moteur 3D.
Les moteurs sont typiquement divisés en deux sortes :
- Moteur logiciel : calcul le rendu (image) avec l’aide du moteur central (CPU) et de la mémoire vive (RAM).
- Moteur hardware : calcul du rendu par le processeur graphique (GPU). Calculs beaucoup plus rapides. Le CPU est alors utilisé pour le calcul des autres moteurs (son, IA..).
Pour être le plus clair possible, un moteur 3D est "une grosse boite gérant tout l’aspect visuel d’un programme de manière transparente pour l’utilisateur".
Attention : Ce que n'est pas un moteur 3D
- Un moteur de jeu, celui-ci intègre cependant un moteur 3D
- Un moteur physique, celui-ci gère les interactions entre objets
- Un modeleur 3D ou logiciel de modélisation, celui-ci s'appuie sur un moteur 3D
- Aucune Gestion des entrées utilisateurs n'est effectuée
Fonctionnalités
Les principales fonctionnalités d'un moteur 3D résident dans :
- l'affichage des personnages, bâtiments et paysages en 3D
- le chargement des textures d’objets
- la gestion des lumières et des ombres
- l'utilisation d'une ou plusieurs caméras
- la création des effets de brouillards, flammes, fumées, ciel, eau...
Le choix d’un moteur 3D se fera donc en fonction des fonctionnalités et rendus souhaités.
Exploitation
Les moteurs 3D sont de plus en plus utilisés aujourd'hui. Par exemple, on en retrouve dans :
- les moteurs de jeux vidéo
- les logiciels de modélisation 3D professionnel payant (3D Studio Max) ou gratuit (Blender)
- les logiciel d’animation cinématographique
- l'imagerie médicale
- les logiciels de simulation
Composants des moteurs de jeux
Entrée/ Sortie : lecture des périphériques externes (joystick, souris, clavier, espace de stockage).
Moteur physique : calcul le mouvement des objets, gestion des collisions, déformation des objets, etc…
Moteur son : mixage sonore et calcul de traitement numérique du signal pour la production d’effet sonore.
Module Intelligence artificiel : comportement des ennemies ou des machines.
Moteur réseau : permet d’assurer la communication au travers d’un protocole réseau
Moteur 3D : rendu graphique, transformation de l'espace 3D en une image 2D.
Moteurs 3D existants
Il existe plusieurs centaines de moteur 3D, qu'ils soient open source ou commerciaux. Chaque moteur 3D offre des techniques différentes pour le rendu de l'image.
Une liste complète des moteurs 3D classées en fonction des besoins est disponible sur le site suivant : http://www.devmaster.net/engines/
Pour en citer quelque uns :
- Ogre, Crystal Space, IRRLICHT => moteurs open-source
- Unreal, Torque => moteurs commerciaux





Critères de choix
Pour choisir un moteur 3D, on fera attention aux critères suivants :
- Optimisation :
- Objets (nombre d'objets disponibles)
- Eclairage
- Effets spéciaux
- Animation
- Dynamique de développement
- Standards
- Outils
- Son, Physique, Réseau, IA
Les moteurs commerciaux sont performants cependant il est dangereux de les utiliser, étant donné qu'ils sont maintenus et mis à jour en fonction des développements effectués par les entreprises en question.