
Cette 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.
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)