Welcome!
Welcome dans ce blog infâme, un des endroits du web ou je poste les choses que je ne poste pas ailleurs (i.e: Geeks3D...) et où je teste les thèmes WP que je trouve sympa.

RSS Feed

Archive for February, 2008

  • English
  • French

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.

  • English
  • French

The new version of GPU-Z is out. So let’s do the quick test of GPU temperature:

Well… for GeForce GPUs, it’s not better than version 0.1.6…

On the other hand, for Radeon GPUs, the temperature is right:

  • English
  • French

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.

  • English
  • French

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:

// === 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 );

Now the render thread can access to the keyboard state.

  • English
  • French

A must have in your toolbox. All explanations are in Unlocker’s homepage. Simple and effective! These last days, I’ve had regularly a file locked by an unknown processus (ProcessExplorer, now I know it!). Without Unlocker it was difficult to know which is the guilty processus. With Unlocker, you now know which is the locker processus and you can unlock the file.

  • English
  • French

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

  • English
  • French

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
  • French

Here is a sum-up of the next GPGPU: far more important than you think. Think 10x a CPU’s performance.

This article discusses about the use of GPU for non-graphical purposes or GPGPU (General Purpose (computation) on Graphics Processing Units). The author talks essentially about ATI 3870 X2 and the FireStream 9170 Stream Processor but don’t forget that NVIDIA has also the same kind of products with the Geforce 8 or Tesla. ATI’s Radeon HD 3870 X2 can hit around 1TFLOPS (one trillion floating-point operations per second), in contrast, a high-end quad-core CPU can push out around 60GFLOPS, or one-sixteenth the amount of floating-point power.

To program the GPU for non graphical rendering, you can use the The FireStream SDK (Software Development Kit) for ATI cards that gives the developer low-level access to the workings of the GPU. With NVIDIA boards, you can use CUDA to perform equivalent tasks.

And the final sentence:

”So the next time you look at the Radeon HD 3870 or NVIDIA GeForce 8800 GT in your machine, remember that it’s more than just a graphics card; it’s a floating-point monster that will increasingly be used for non-graphical tasks.”

Related Links:

  • AMD Pioneers Stream Computing on Graphics Processor Units
  • Stream Computing FAQ
  • AMD FireStream 9170: Industry’s First GPU with Double-Precision Floating Point
  • Stream Computing: SDK et RV670
  • NVIDIA CUDA homepage
  • CUDA @ oZone3D.Net forums
  • CUDA et OpenGL @ oZone3D.Net forums
  • CUDA en pratique @ oZone3D.Net forums
    • English
    • French

    Sapphire’s 3870 X2 ATOMIC version will hit US and Europe market next month. This card will have 1Gb of GDDR3 memory, Dual DVI / TVO with Water Cooler. Nice product.

    You can see two kind of power connectors: 2×3 and 2×4. The first one (2×3) is the regular PCI-Express power connector and the second one (2×4) is the new PCI-Express 2.0 connector.

    More pitures on the Radeon 3870X2 ATOMIC: Sapphire_Prepares_ATOMIC_3870-X2.