Vector Game Math Processors
Date de publication : 09/11/2006
Par
Matthieu Brucher (http://matthieu-brucher.developpez.com/) (Blog)
Critique de Vector Game Math Processors de James Leiterman
I. Description
II. Table des matières
III. Critique : Indispensable pour les optimiseurs
IV. Liens annexes
I. Description
La complexité croissante du matériel dans les consoles de jeux vidéos telles que la Playstation 2, la GameCuble, la Xbox ou d'autres systèmes embarqués a provoqué une demande de programmeurs maîtrisant la programmation parallèle sur des vecteurs. Vector Game Math Processors explqiue comment écrire des algorithmes mathématiques parallèles en flottants ou en entiers pour une utilisation dans les jeux vidéos ainsi que dans les applications scientifiques.
- Comprenez tous les aspects de la programmation vectorielle avec le PowerPC, l'Altivec, le MIPS, l'architecture x86 et autres processeurs SIMD
- Apprenez à utiliser des jeux d'instructions vectorielles divers
- Découvrez comment programmer avec des plateformes publiques et privées avec une approche vectorielle
- Explorez les fonctions trigonométriques et les mathématiques vectorielles avancées, incluant matrices et quaternions
- Apprenez à propos des vertex shaders.
- Incorporez du code vectoriel ou pseudo vectoriel dans vos propres projets
Sur le CD compagnon, vous trouverez le code des examples discutés dans le livre. Les fichiers sont compatibles Mac, Windows et MIPS.
II. Table des matières
- Introduction
- Coding standards
- Processor differential insight
- Bit wrangling
- Vector addition
- Vector multiplication & division
- Special functions
- A wee bit o' trig
- Matrix math
- Geometry engine tools
- Vertex & pixel shaders
- Video codec
- Vector compilers
- Debugging vector functions
- CD contains example code
III. Critique : Indispensable pour les optimiseurs
Ce livre est un dictionnaire des fonctions usuelles en matière de calcul parallèle 3D ou 4D - pour les quaternions -. Il n'y a pas vraiment d'explication sur pourquoi faire ceci ou cela, c'est principalement un recueil, pour chaque architecture, on regarde comment on peut implémenter une fonction, et si on ne peut pas utiliser d'instruction native, on passe en pseudo vectoriel.
Le public visé est clairement les programmeurs désireux d'optimiser leur code intensivement. Si vous commencez à développer votre propre outil, passez votre chemin et revenez ici au moment de l'optimisation. Logiquement, l'auteur propose prinsipalement du code assembleur - syntaxe Intel, si je ne m'abuse, donc pour GCC, il faudra modifier le code pour l'utiliser -, et ceci sur plusieurs pages.
On appréciera le fait que l'auteur ait construit son livre sur plusieurs plateformes, même si certaines sont désuettes à l'heure actuelle. Le principal à retenir est que même les plateformes actuelles peuvent bénéficier des optimisations présentes dans le livre. Si MIPS a presque disparu, la Xbox 360 et la PS3 sont basées sur un ou plusieurs PowerPC, donc cette partie est tout à fait pertinente.
L'auteur entame aussi les quaternions, les shaders, ... mais n'achetez pas le livre pour cela, il existe d'autres livres consacrés à ces sujets, ils les méritent bien. En conclusion, ce livre est indispensable pour ceux qui doivent optimiser sur plusieurs plateforme des calculs scientifiques ou pour les jeux vidéos.
IV. Liens annexes
Copyright © 2006 Matthieu Brucher.
Aucune reproduction, même partielle, ne peut être faite
de ce site ni de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à
trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.