JeGX HackLAB


Archive for February, 2008

Quick Review – GLC_Player: Viewer de Fichiers OBJ

with 3 comments

Version testée: 1.02

GLC_Player est un viewer de fichier OBJ {Alias|Wavefront}, le format standard ascii de description des modèles 3D. Ce format est très simple dans sa structure et n’impose aucune contrainte quand à l’organisation des données. C’est finalement là que réside la grande difficulté à parser ce type de fichier. Je dois dire que GLC_Player remplit correctement son role de loader de fichiers OBJ.

GLC_Player propose une navigation de camera de type Virtual Trackball ce qui est très pratique pour manipuler l’objet et le regarder sous tous les angles. GLC_Player est livré avec quelques objets mais pour le lab infame il n’est pas question de prendre des objets qui sont tous certifiés GLC_Player loadable!

Je me suis donc rendu sur cette page et j’ai téléchargé le modèle de la Ferrari F40 Ce modèle est livré au format MAX. Ca tombe bien comme ça je peux le convertir en OBJ avec l’exporter OBJ de MAX.

Pour le test j’ai aussi utilisé HyperView3D afin de comparer les chargements.

- Ferrari F40 et GLC_Player:

- Ferrari F40 et HyperView3D:

Les tâches blanches bizarres sur le capot viennent des normales exportées par MAX qui ne sont pas correctes à ces endroits. Ce petit détail mis à part, on voit que GLC_Player a eu un petit problème pour charger les textures (logo Ferrari sur le capot) et ne semble pas prendre en compte la transparence des matériaux (pare-brise et phares).

L’autre détail qui peut poser des problèmes pour une analyse plus fine des modèles 3D est la gestion des meshes. GLC_Player charge le fichier OBJ en un seul gros mesh alors que le modèle comporte 36 meshes distincts.

Conclusion: Pour rapidement visualiser des fichiers OBJ, je dirais que GLC_Player est parfait. Son coté multi-plateforme le rend disponible sous Windows et sous Linux. Il fait desormais partie de ma graphics toolbox à coté d’HyperView3D. Mais si vous avez besoin d’analyser un modèle 3D pour s’en servir dans une application 3d temps réel (Demoniak3D?) GLC_Player n’est pas pour le moment adapté.


Tested Version: 1.02

GLC_Player is an OBJ {Alias|Wavefront} object viewer. OBJ is the ascii standard file format to describe 3d objects. This format is very simple and do not force to follow a strict file structure. But this liberty has a price: the parsing is, in some case, quite difficult. And I must confess that GLC_Player does the job rather well.

GLC_Player offers a Virtual Trackball camera, which is very handy to handle the object and examine it under all possible angles. GLC_Player is delivered with some samples of OBJ files but for the infamous lab it’s out the question to use GLC_Player loadable certified objects!

So I jumped on that page and I downloaded the Ferrari F40 model. This model is provided in MAX format. This format is conveniant for my tests because I can convert it using MAX OB exporter.

For the test I also used HyperView3D in order to compare the way both tools load OBJ files.

- Ferrari F40 and GLC_Player:

- Ferrari F40 and HyperView3D:

The strange tasks in the hood come from the normals exported by MAX that are not correct at these places. Let’s forget this detail. We can see that GLC_Player has had a little problem to load some textures (the Ferrari logo on the hood) and does not take into account transparent materials (windshield and headlights).

The other thing that can prevent a detailed analyze of the 3d models is the way the meshes are managed. GLC_Player loads the OBJ file into a big and unique mesh even though the model has 36 distinct meshes.

Conclusion: if you need a tool to quickly view OBJ files, GLC_Player is that tool. What’s more GLC_Player is available for Windows and Linux. From now on, it lies in my graphics toolbox next to HyperView3D. But if you need a more accurate analysis of a 3d model in order to exploit it in a real time 3d application (Demoniak3D?) GLC_Player is not adapted yet.

Written by JeGX

February 25th, 2008 at 11:42 am

CryENGINE2 vs Reality

with one comment

Written by JeGX

February 23rd, 2008 at 7:45 pm

Posted in News en Vrac

Tagged with

GPU-Z 0.1.7 – Mauvaise Température du GPU

without comments

La nouvelle version de GPU-Z est dispo. Alors faisons en vitesse le petit test de la température du GPU:

Bon, pour les GPUs GeForce, c’est pas mieux que la version 0.1.6…

Par contre pour les GPU Radeon, la température est correcte:

Written by JeGX

February 21st, 2008 at 4:30 pm

Posted in Tests et Reviews

Tagged with ,

Quick Review – KeyBreeze

with 4 comments

Si vous êtes un mordu du clavier comme moi, alors voilà un utilitaire vraiment pratique pour améliorer votre productivité. KeyBreeze est une ligne de commande flottante qui permet de lancer presque tout et n’importe quoi. Une fois configuré, c’est vraiment un outil extrêmement précieux pour le geek que vous êtes.

Homepage: www.keybreeze.com

Voici la description officielle issue du site de l’auteur:
“Keybreeze is a command-line program launcher for Windows. Launch programs and websites by pressing a hotkey on your keyboard and typing keywords. You can search the internet, shut down your computer, access a dictionary, record macros, and access other shortcuts from your keyboard.”

Ca fait maintenant quelques jours que je m’en sers et je l’ai adopté. KeyBreeze se lance en appuyant sur une hotkey. Par défaut c’est le point-virgule [;]. J’ai choisi la hotkey suivante: [Ctrl]+[Backspace] que je trouve beaucoup plus pratique. En tant que développeur C/C++ je me vois assez mal appuyer à chaque fois deux fois sur le point virgule pour termminer une instruction.

- Recherche sur Google d’oZone3D.Net: [Ctrl]+[Backspace] + s ozone3d.net + [ENTER]

- Lancement de la calculatrice de Windows: [Ctrl]+[Backspace] + cal + [ENTER] = environ 2 secondes…
- Lancement de la base de registre: [Ctrl]+[Backspace] + reg + [ENTER]

La FAQ vous propose un tableau avec la liste des keywords prédéfinis.

If you are a keyboard addict like me, then here is an utility really handy to boost your productivity. KeyBreeze is a floating command line that makes it possible to launch almost everything. Once configured, it’s a precious tool for the geek your are.

Homepage: www.keybreeze.com

Official description leeched from the author’s website:
“Keybreeze is a command-line program launcher for Windows. Launch programs and websites by pressing a hotkey on your keyboard and typing keywords. You can search the internet, shut down your computer, access a dictionary, record macros, and access other shortcuts from your keyboard.”

I use it for several days and I adopted it. You start KeyBreeze by pressing a hotkey. By default it’s the semi-colon [;]. I chose the following hotkey: [Ctrl]+[Backspace] which I find more practical. Being a C/C++ developer, it’s out of the question to press twice the semi-colon to finish an instruction.

Examples of use:

- Search for oZone3D.Net with google: [Ctrl]+[Backspace] + s ozone3d.net + [ENTER]

- Start Windows calculator: [Ctrl]+[Backspace] + cal + [ENTER] = about 2 seconds…
- Open Windows registry editor: [Ctrl]+[Backspace] + reg + [ENTER]

The FAQ presents you a more detailed table with all pre-built keywords.

Written by JeGX

February 20th, 2008 at 1:22 pm

Posted in Tests et Reviews

Tagged with ,

[French]Multithreading et Lecture du Clavier[/French][English]Multithreading and Keyboard Reading[/English]

without comments

[French]
La programmation multithreading est un monde à part et il faut bien en être conscient. Dans une des demos sur laquelle je bosse en ce moment,
il y a deux threads: le thread principal qui s’occupe de la gestion des messages de la fenêtre via la classique pompe à message GetMessage() et le thread de rendu pour le rendu 3D de la scène. Dans le thread de rendu, l’application a besoin de récupérer l’état des touches du clavier (pour controler la caméra) avec GetKeyboardState(). Mais la chose à savoir est que l’état du clavier et ses messages sont postés dans le thread principal qui gère la fenêtre et du coup le thread de rendu ne reçoit aucun message et donc ne peut pas lire le clavier avec et KeyboardState(). Une solution pour résoudre ce problème est de partager l’état du clavier entre les deux threads à l’aide de la fonction win32 AttachThreadInput():
[/French]

[English]
Multithreading programming is a world apart and you have to be aware of that fact. In one of my demos I’m working on, there are two threads:
the main thread that manages window messages via the usual GetMessage() based message pump and the render thread for rendering 3D stuff. In the render thread the app needs to retrieve the keyboard state (to control the camera) via GetKeyboardState(). The thing to know is that keyboard state and messages are posted to the main thread and the render thread can’t read keyboard state since this thread doesn’t receive keyboard messages. A way to solve this problem is to share keyboard state between both threads with the AttachThreadInput() win32 function:
[/English]

// === Main.cpp ===
// Main Thread
DWORD main_thread_id = GetCurrentThreadId();

// === Render.cpp ===
// Render Thread
DWORD render_thread_id = GetCurrentThreadId();

AttachThreadInput( render_thread_id, main_thread_id, TRUE );

[French]
Maintenant le thread de rendu peut lire l’état du clavier.
[/French]

[English]
Now the render thread can access to the keyboard state.
[/English]

Written by JeGX

February 18th, 2008 at 3:57 pm

Unlocker

without comments

Un must-have dans votre toolbox. Toutes les explications sont sur la homepage de Unlocker. Simple et efficace! Ces derniers jours j’avais régulièrement un fichier bloqué par un processus inconnu (ProcessExplorer pour ne pas le citer!). Sans Unlocker, c’était difficile de trouver le processus coupable du blocage. Avec Unlocker, le coupable est instantanément démasqué et le débloquage du fichier n’est plus qu’une simple formalité.

Read the rest of this entry »

Written by JeGX

February 16th, 2008 at 6:07 pm

Posted in Utilitaires

Tagged with , ,

Quick Review – Génération d’Arbres avec Dryad

without comments

[French]
Dryad est un générateur d’arbres. C’est une application OpenGL et il est disponible pour Windows et MacOS X. Dryad permet de sélectionner un arbre à partir d’un espace d’arbres (sur le coté droit de l’application) en utilisant une interpolation entre les différents arbres se trouvant autour de la souris. Attention car Dryad est très gourmand en mémoire et 2Go de ram sont vivement conseillés.

Une fois le type d’arbre sélectionné, un clique sur l’icone des engrenages qui affiche les paramètres de l’arbre. Il est possible de tout paramétrer: le tronc, les feuilles, les branches.

Sur l’image suivante, j’ai diminué le nombre de feuilles et légèrement incurvé les branches du haut.

Mes réglages aboutissent à ce résultat final:

Dryad exporte votre création sous la forme d’un fichier OBJ. Celui de l’image précédente fait environ 62Mo, ouch! Le fichier OBJ est correctement généré et est accompagné de son fichier de materiaux. En modifiant à nouveau les paramètres, j’obtient un fichier OBJ de 2Mo qui contient environ 24000 faces. Ok chargeons-le maintenant dans HyperView3D:

Le problème est que les coordonnées z et y sont inversées. Mais HyperView3D possède une petite fonction pour remédier à ce problème: la permutation des coordonnées Y et Z des vertices. Vu que c’est un problème que l’on rencontre de temps en temps, cette petite fonctionnalité est utile.

Pour ceux qui veulent s’amuser avec ce modèle OBJ, le voilà: Dryad_Tree.zip.

Conclusion: Dryad est un petit utilitaire pratique pour la génération d’arbres mais nécessite une machine puissante. L’export en OBJ permet d’exploiter ses créations dans toutes les applications 3D qui prennent en charge ce format (comme Demoniak3D par exemple!).



Dryad is a tree gnenrator. It’s an OpenGL application and is available for Windows and MacOS X. Dryad allows to select a tree from a space called “the space of all trees” (in the right side of the app). The tree is created by interpolation between all trees that lie near the mouse. Pay attention because Dryad is very memory-consuming and 2 Gb of ram is recommended.

Once you have select your tree, a click on the gearing icon displays the tree parameters. You can customize everything: trunk, leaves, branches.

On the following image, I reduced the number of leaves and slightly incurved the upper branches.

My adjustments end up to :

Dryad exports your creation in an OBJ file. The one of the previous image is a huge 62Mb OBJ file, ouch! The OBJ file is properly generated and comes with its materials file. 62Mb is too big, and after a few adjustments, I get a 2Mb OBJ file with approximately 24000 faces. Okay now let’s load it in HyperView3D:

Now the problem now is that Y and Z coordinates are reversed. But HyperView3D has a little function to solve this problem: the swap of Y and Z coordinates. Because we encouter this problem time to time, this little function is useful…

For those who want to play with that OBJ file, you can grab it here: Dryad_Tree.zip.

Conclusion: Dryad is a handy utility for trees generation but requires a powerful computer. The OBJ export makes it possible to exploit the trees in all 3D applications that can load this standard format (like Demoniak3D for instance!).

Written by JeGX

February 15th, 2008 at 8:41 am

Dell XPS M1730 Gaming Laptop

with 2 comments

[French]
Extremetech vient de tester le nouveau joyaux de Dell, le XPS M1730:

C’est une bête, avec un CPU Core 2 Extreme X9000 mobile carburant à 2.8GHz, une paire de GeForce 8800M GTX en SLI (le rêve pour tous les graphics geeks!), et deux disques durs de 200Go à 7200 RPM montés en RAID 0, c’est pourquoi ce monstre de 4500 dollars est affreusement rapide.

La série XPS de Dell est une très bonne marchandise (je suis l’heureux possesseur d’un modèle ancienne génération, le XPS M1710 (avec une GeForce 7900GTX/512M) qui me rend encore beaucoup de services) donc si vous en avez les moyens, n’hésitez pas à vous l’offrir.
[/French]

[English]
Extremetech has reviewed the new gems of Dell, the XPS M1730:

This is a beast, with a Core 2 Extreme X9000 mobile CPU running at 2.8GHz, a pair of GeForce 8800M GTX cards in SLI (the dream for all graphics geeks!), and two 200GB 7200 RPM drives in RAID 0 configuration, it’s no surprise that this $4500 monster is fast.

Dell’s XPS series is really a good product (I’m the lucky owner of the previous generation, the XPS M1710 (with a GeForce 7900GTX/512M)) so if you can afford it, buy it!
[/English]

Written by JeGX

February 14th, 2008 at 3:47 pm

Posted in Hardware

Tagged with , , , , ,

GPU: un MONSTRE de puissance en virgule flottante

without comments

Written by JeGX

February 13th, 2008 at 10:35 am

Sapphire Radeon 3870-X2 ATOMIC

without comments

La nouvelle carte de Sapphire, la 3870 X2 ATOMIC version, débarquera aux US et en Europe le mois prochain. Cette carte aura 1Go de mémoire GDDR3 et un beau Water Cooler. Belle pièce.

Read the rest of this entry »

Written by JeGX

February 12th, 2008 at 10:49 am

Posted in Hardware

Tagged with , , , ,