News
24/03/2008 - GLM 0.7.1
14/03/2008 - Küken
10/01/2008 - Tut sur les mipmaps
16/11/2007 - ASM trash
up | 24/03/2008 - GLM 0.7.1

Une nouvelle version de GLM est disponible à present sous license MIT. La documentation a été largement complété et de nombreux bugs ont été corrigé.

up | 14/03/2008 - Küken

Depuis maintenant un moment, j'ai commencé à travailler sur un nouveau "moteur 3D" entièrement orienté shader avec un terme la vocation d'être massivement multithreadé.

Soyons honnête, le projet est vraiment à son commencement. Pour la première release, j'ai simplement prévu d'intégrer un renderer OpenGL 2 mais il manque encore bien des fonctionnalités.

Le code est disponible sur SVN et utilise GLEW et GLM.

up | 16/01/2008 - Render to vertex buffer (R2VB), Vertex texturing et Alpha to coverage

Le G-Tut Pack a été mis à jour avec trois nouveaux samples. Un premier propose une méthode de rendu dans un vertex buffer. Le second donne un exemple de vertex texturing et enfin le troisième évoque l'alpha to coverage, c'est à dire la possibilité d'antialiaser une texture qui contient des texels non visible. L'alpha test pour le multisampling en somme.

Render to vertex bufferVertex texturingAlpha to coverage
up | 12/01/2008 - Comparatif Visual C++

Dans une news du 11/01/2006, deux ans presque jour pour jour, j'évoquais mon passage à Visual Studio 8 au travers d'un benchmark mettant en œuvre GCC 3.2, GCC 3.4, Visual C++ 7.1 et Visual C++ 8.0. les résultats étaient alors peu flatteur pour Visual C++ 8.0. Visual C++ 7.1 caracolait alors en tête suivit de près par GCC 3.4, Visual Studio 8.0 étant largement en retrait. Ces tests avaient été effectués sur mon raytracer avec un Athlon XP 2800+.

Aujourd'hui, j'entame ma migration vers Visual C++ 9.0 bien que Visual C++ 8.0 soit toujours mon IDE de référence tout simplement car tous les outils (DevPartner, VTune) ne sont pas encore près pour Visual Studio 2008. Le test est maintenant réalisé sur un Core 2 Q6600 ce qui laisse l'opportunité d'activer les optimisations SSE2 ainsi que la compilation en 64bits.

Ce test montre que globalement les performances n'ont pas évolué depuis Visual C++ 7.1 si l'on s'arrête sur le mode 32 bits et sans optimisation SSE. L'utilisation des optimisations SSE permet de gagner environ 20% de performances. Passer en 64 bits permet de gagner encore environ 10% de performances. Selon ce test Visual C++ 8.0 SP1 est pour le moment le plus efficace particulièrement en 64bits.

Le schéma suivant donne le temps en seconde pour la génération d'une image avec mon raytracer.

Le tableau de résultat
up | 10/01/2008 - Tut sur les mipmaps

Un nouveau sample est disponible sur le sujet des mipmaps. Biais, génération et personnalisation de mipmaps, niveau de base, etc...

Mipmaps
up | 23/12/2007 - Liste GPUs actualisée

Il semblerait que je sois dans une formidable dynamique de mise à jour de vieux trucs... Cette fois c'est au tour de la liste des GPUs de subir un lifting ! Elle inclut à présent tous les derniers GPUs jusqu'au GeForce 8800 GTS 512.

up | 15/12/2007 - G-Tut-Pack version 2 : 24 nouveaux samples OpenGL 2 disponible

J'ai commencé une nouvelle série de samples OpenGL. Depuis la dernière mise à jours du G-Tut-Pack le 05/11/2004 j'ai tenté bien des approches qui non pas données grand chose de convienquant au final...

Avec cette nouvelle série de sample pour OpenGL, 24 samples sont déjà disponible ! Cette version vise à la présentation de l'API d'OpenGL 2 dans une approche entièrement orienté programmation GPU avec GLSL.

Les exemples utilisent GLEW, GLM et SDL mais tout est inclut dans chaque archive, il ne reste qu'à lancer le sample ou le compiler avec Visual Studio 2005. Ils sont disponibles sous de manière unitaire mais également regroupé dans une archive.

up | 13/12/2007 - GLM 0.6.4 disponible

GLM continu a évolution avec des mise à jours régulières principalement pour corriger des bugs mais aussi en ajoutant de nouvelles extensions. La version 0.7 est en cours de développement mais est encore qu'à ses débuts.

up | 16/11/2007 - ASM trash

J'ai passé un peu de temps à me remettre à l'assembleur x86 ces derniers temps. J'y ai trouvé beaucoup de plaisir ! La pile des registres flottants, les 10 instructions indifférentes juste pour la soustraction, les instructions SSE... ahhh :)

Ma principale motivation était d'étudier l'apporte que pourrait apporter les instructions SSE à GLM. Bien qu’elles permettent d'exécuter jusqu'à 4 opérations à la fois, leurs utilisations introduisent les latences. Dans l'état actuel, il est difficile d'espérer un gain, d'autant qu'il faut permettre au compilateur de réaliser ses optimisations et écrire un code au moins aussi efficace que celui du compilateur. Bref, il me reste beaucoup encore à faire.

J'ai regroupé les résultats de cette activité dans une archive que je mets à votre disposition. Il y a également du code que j'ai trouvé sur le net. C’est vraiment brute et rien d’utilisable pour un projet. Cependant, c’est une bonne base de code pour observer le fonctionnement de différentes fonctionnalités de l’assembleur.

up | 16/09/2007 - GLM 0.6.0 disponible

Le travail réalisé sur GLM 0.6.0 concerne exclusivement les extensions le leur mécanisme.

Une extension GLSL sur le GPU est utilisé de telle manière quelle semble s'intégrer au langage. Ceci est possible car le programmeur indique de manière explicite qui souhaite utiliser une extension spécifique. Il venait a utilisé deux extensions différentes définissant la même fonction, le même type alors il aurait des collisions d'espace de nom.

GLM 0.6.0 reprend ce mécanisme pour intégrer les extensions GLM à la bibliothèque core à la demande de l'utilisateur.

Beaucoup d'extensions ont été ajouté. GLM 0.5.1 contenait 44 extensions implémenté, GLM 0.6.1 en contient 58 dont de nombreuses anciennes améliorées. Nombres flottant à demi-précision, vecteur et matrice de taille N, unsigned int, opération bit à bit, quaternion, opération sur les matrices, splines, etc.

Archives des news
Copyright © 2002-2006 G-Truc Creation tous droits réservés