Unity_Logo

Les plateformes et les moteurs
important.jpgCette page est une présentation succinte et technique des différentes plateformes et moteurs que vous pourriez aborder.

Le travail graphique et l’optim sont indissociables en temps reel. Les contraintes du temps reel conditionnent les choix graphique : selon les plateformes, on a acces à certains outils, pas à d’autres, etc…

De façon à optimiser, il est essentiel de connaitre le moteur et la plateforme sur lesquels on travaille, car chaque plateforme ou moteur a ses avantages et inconvenients.

Table des matières :

Les plateformes
Les moteurs

Les plateformes

DS : 256*192(*2) - 2CPU, le premier pour la video et gameplay, le second pour le son - Shared 4moRam dont 512Ko pour les textures - Hardware TnL - texture mapping - alpha blending - UV transf - cel shading - zbuffering - Nearest neighbor texture filtering(cranky visual) - Max vertice/frame : 6144 - Max Tri/Frame : 2048 - Max tex size 1024*1024 DSi : Proc presque deux fois plus puissant, 16MoRam
La DS est optimisée pour avoir un rendu 3D sur une seule fenêtre.

PSP : 8 MoRam graph uniquement - 2mo frame buffer - HW clipping - Morphing - Bones - HW tesselator - HW Beziers curves/Nurbs - TnL - 32/64Mo shared
PSP2 devrait avoir un GPU PowerVR et donc Deferred Rendering possible. UE3 annonce une autre patreforme sur laquelle va tourner l’engine en dehors de l’Iphone et ce sera probablement la PSP2.

IPhone : 320*480 -  un CPU - un GPU (PowerVR SGX/MBX tile based deferred rendering) - shared 128/256DRAM - HW pixel, vertex et geometry programmable shaders - Technique de rendu paticulière, rend polys et Zbuff en un seul cycle, decoupe le screen space en tiles, les rends un par un avec un zbuffer et les store dans le buffer video
Sur l’Iphone de 3eme genration, on peut voir UE3 tourner.

PS2 : un graphic synthetiser - 32mo shared - 32bits - 3.2Go/s Bande passante - 500/600 000 tris à 30fps - Point, bilinear, trilinear, anisotropic mip-map filtering - Bumpmap - un systeme spécifique de rendu de sprites puissant

GameCube : GPU Ati 16mo - 24mo principal - 24bits - 8 texture layers/render pass - Point, bilinear, trilinear, anisotropic mip-map filtering - bump mapping - env mapping - Zbuffer - S3tc tex compression - AA - TnL - 400 000 tris à 30fps - Hidden Surface Removal(culling) - jusqu a 8 lights HW - 1.3Go/s Bande passante

Wii : GPU ATI Hollywood - 24MoGraph - 64MoGDDR principale - (trouver ce dont est capable le GPU)

XBOX : 64Mo Shared Mem

PS3 : GPU - 256GDDR3 video Mem - 250 millions triangles/sec -

XBOX360 : 512GDDR3 shared Mem

Les moteurs/SDK
Lisez les docs de vos moteurs/SDK :)
Gamebrio : DX9 et 10 ! Pour une license on a les binaires ou/et les sources pour une customisation complète du moteur(apparenté à une API). Multiplateforme et modulaire. Ne sera intégré et compilé que les outils necessaires.
Ex : pas de shaders HLSL, HDR Lighting pour une version WII.
Comme Unity, ce n'est pas uniquement un moteur mais tout un environnement de developpement : un moteur, un editeur de niveau, un editeur d’anims, un generateur de terrains, collisions dynamiques, generateur de particules, shaders, Dynamic LOD, Object Culling, 3D audio...

OGRE idem : Deferred Shading, OpenGL, DX, HLSL, GLSL, multitex, PixelLighting, Dyn LOD, AnimBlend, Morphs, MultiBone, Config d’Interpolation, Compositing, Particle System…

Unity : plateforme de programmation, glsl, LOD, culling, etc… moteur hybride, gère le PerPixel Lighting, Shading, mais n'est pas réellement optimisé pour.

UDK : Idem, avec en plus un éditeur de matèriaux puissant. Le moteur est basé sur le principe de deferred rendering et est donc optimisé pour le PrePixel Lighting et Shading. Basé sur Directx10

(Mot de la fin)