J'ai commandé samedi sur Amazon un livre de mathématique
Mathematics For 3D Game Programming And Computer Graphics, Second Edition. Je crois qu'il va être une bonne référence pour mon apprentissage de la 3d. Il y a quelque référence sur OpenGL, mais il focuse sur les équations mathématique plus que sur l'API 3d utilisé.
J'ai mis de côté l'API DirectX pour le moment et je me concentre sur la lib mathématique du moteur. Bien que directX fournit ce genre de classe, il m'en fallait une pour OpenGL. Il s'agit de plusieurs classes mathématique 3d comme les vecteurs de 4 dimensions, les matrices 4x4,les "ray",les "planes" etc.. Je vais utilisé les capacités SIMD des processeurs pour réduire le nombre d'instructions et du même coup accélérer le traitement. Pour le moment, seul l'assembleur x86 SIMD (3DNow,SSE,SSE2,SSE3) va être utiliser. La librairie va donc être pour platfome x86 dans sa première version. Il va être cependant facile de la migrer sur une autre platforme sans optimisation, car elle va offrir un "path" programmer en C de base pour les CPU sans SSE ou 3DNow. Je ne prévois pas utiliser l'extension MMX, car il s'exécute seulement sur des entier de 64bits, donc des vecteur entier de 2 dimension. Sous OSX, je prévois utiliser Altivec pour les PowerPC et SSE3 pour les Intel.