Recent topics

17/06/2009 - iPhone 3GS
09/06/2009 - Küken becomes 3D!
20/04/2009 - IAMX in tour
./Floating colors
Floating colors
^ | 25/06/2009 | Imagination Technologies shares holders

After Apple which bought 3.6% of Imagination Technologies few months ago, it is the turn of Intel to buy 16.02% of the company shares. As a direct reaction Apple increases they share holding to 9.5%.

Such buy could appear like a thread for the company and his client but it definitely make same to me considering the growing market of embedded devices.

nVidia raised it card with Tegra, a complete platform integrating and GeForce chipset and an ARM processor. On its side, Intel released ATOM, energy efficient CPU, which has an unexpected success market wise.

However, Intel hasn’t any descent graphics hardware or software but Imagination Technologies with its PowerVR SGX does.

The PowerVR SGX and previously the PowerVR MBX are integrated in a lot of small devices like phones en MIPS and I would not be surprised to see it reaching Netbook where the competition with the Tegra platform could be taught.

Imagination Technologies clearly leads the market but nVidia become a serious competitor.

Submit a comment
^ | 17/06/2009 | iPhone 3GS

During the Apple WorldWide Developers Conference (WWDC), the new iPhone 3GS have been announced.

From the user point of view, not much new. It is faster but the iPhone 3G seams quite fast to me.

From the programmer point of view, it's a big change! The PowerVR MBX have been replaced by the PowerVR SGX which implies the support of OpenGL ES 2.0 instead of OpenGL ES 1.1.

OpenGL ES 2.0 brings a fully programmable approach, a big step, and a lot more fun to program!

Submit a comment
^ | 09/06/2009 | Küken becomes 3D!

I'm currently having a lot of fun learning how to use 3DS max! This is my first interesting results in modeling.

The texturing needs to be really improved to make the mesh more real time 3D software complient but I still don't know how to do this. For the hair it's quite the same issue, I hope to find sonething nice foe the rendering. On the good side, I made great progress on the skeleton animation side! :)

This model will be perfect to feature the Küken engine!

Küken 3D
Küken 3D
Submit a comment
^ | 02/06/2009 | Photography Contest by Google and the Saatchi Gallery

Google and the London Saatchi Gallery organize a photography contest based on iGoogle themes. Each photographer need to submit 5 pictures that would be used to create iGoogle theme.

I submit my set of picture for with it my first photography contest. I created 5 pictures featuring my little Küken has main character display in a very positive wait, Küken presenting someking of world beauties with a tentative of added emotional values inspired by painter: Monet and Rothko.

I hope you like it that my experiment will be selected in the 26 best set shortlist. The five best set of pictures will be display at the Saatchi Gallery and the winning win £5000!

If I win, I'll buy a Canon 5D MKII! :D

Photography Contest
Photography Contest
Photography Contest
Photography Contest
Photography Contest
Submit a comment
^ | 14/05/2009 | GLM 0.8.4.0: work in progress

GLM 0.8.3.0 have been released a week ago and provides the first GTC stable extensions.

However, GLM 0.8.4.0 development have been started for a while and should finally provides some SSE optimisations! It's been a while since I started to experiment with SSE first with intrinsics then with asm (so much fun!) and I finally came back to intrinsics when asm became deprecated by x86-64.

I have not idea the extra form the implementation is going to have, so far I have a vec4 and mat4 types and a lot of functions which extend intrinsic functions. I think, the first release while be limited to SSE (and SEE2?) but I expect to take advantage of SSE3 and upper versions thought VC9 intrinsics in the future.

When it's going to be released? I'm sure plenty of GLM 0.8.3 patch versions would be released before it happens.

Any idea on this topic? Thanks for sharing!

Submit a comment
^ | 05/05/2009 | Boost 1.39.0: Signals2

Boost 1.39.0 gets released and provides an amazing new library: Signals 2. It is basically a thread safe version of Signals library.

My heart stops a second ... o you actually realise the potential for a multithreaded 3D software? There are lot of chances that this is not going be efficient but for some cases it could be just the right solution.

For example, what's about a user interface of a 3D software that would run an independent thread for the UI and send messages about where an object is created, moved, edit, etc. to a main thread. Sound definetely good to me!

Submit a comment
^ | 21/04/2009 | Gerhard Richter portraits at the National Portrait Gallery

Gerhard Richter is German painter born in Dresden in 1932. His perception of portrait was very unconventional. "I don't think the painter need either see or know the sitter. A portrait must not express anything of the sitter's 'soul', essence or character". This is so far from the practice of photographer usually use posing, dressing, environment, etc. to reflect something depth or more personal from the sitter, Richter was resisting interpretation: "You realise that you can't represent reality at all - that what you make represents nothing but itself, and therefore is itself reality". He explored techniques to stop tentative of any perception.

The National Portrait Gallery in London display an exhibition of 48 Gerhard Richter portraits until May 31th 2009.

Inspired by Gerhard Richter ideas, I didn't some experiments based on casual situation, casual pictures.

Nothing but itselfNothing but itselfNothing but itselfNothing but itselfNothing but itselfNothing but itself
Submit a comment
^ | 20/04/2009 | IAMX in tour

IAMX is the project of Chris Corner also member of the band Sneaker Pimps, a british trip-hop band.

With IAMX, Chris Corner explores an energetic electronic based music to deal with darkness, eroticism and decadence.

The first album 'Kiss + Swallow (2004)' sound like free electro with a Chris Corner voice display on front which gives a Pop side to this album. The second album released in 2006 in Europe, "The Alternative", provides a more accessible music for most but maybe more balanced. Fortunately, the whole potential of IAMX is unleashed in Live which almost make the albums seem plain after while!

IAMX has started a tour in this US and in Europe where they played in London last yesterday, in Paris on Wednesday, in Berlin on Saturday and a lot more dates all over Europe soon! I show that should not be missed by any amateur of good electronic and trip-hop music!

Finally, the third album, 'Kingdom of Welcome Addiction', is going to be release on May 18th and a first song 'Think of England' is available on IAMX myspace page.

IAMX at KokoIAMX at KokoIAMX at KokoIAMX at KokoIAMX at KokoIAMX at Koko
Submit a comment
^ | 16/04/2009 | OpenGL Extensions Viewer 3.12 released

OpenGL Extensions Viewer (glView) is one of my favorite free development tool that I use really often. It gives information about the OpenGL features supported by your hardware but it also provides a large database with all graphics cards and the extensions they support.

Try it and adopt it!

Submit a comment
^ | 14/04/2009 | Küken 0.1.0.0 released

A first release of Küken is finally available! This version should be considered as an Alpha version.

Küken is an OpenGL 3.0 + extensions renderer. It is build with a very programmable approach and aims GeForce 8 and beyond. It hasn't been tested on Radeon cards yet so nothing sure with sure platform. However all the extensions used by Küken are supported on Radeon cards which should make it portable quite quickly.

It supports offscreen rendering with multisampling, geometry instancing, render 2 buffer, queries and conditional rendering, uniform buffer (Through GL_EXT_bindable_uniform currently), etc...

It is a low level library where all features are exposed as objects of the rendering pipeline (rasterizer, blend, program, rendertarget, etc.). This design aims allowing effect files, sorting, efficient multithreading and portability to D3D10/11.

For higher level features the idea is to create others projects to keep packages tiny. Possible futur projects would be a FX system, a multithreaded tasks ans communications system, a geometry optimization library, a scene graph ... Not much done yet but the FX system should be first available, it will make easier my test process.

Küken exposes almost all programmable and not deprecated OpenGL 3.0 features but there is still a lot of tests to do check everything. The next step is OpenGL 3.1 and especially GL_ARB_uniform_buffer_object.

The project is managed using CMake, coded in C++ and use GLM and GLI but have been tested only on Visual C++ 8.0 yet.

Submit a comment
^ | 08/04/2009 | Canon EF 70-300mm f4-5.6 IS USM

Last week I recieved a new toy to enjoy some picture sessions: A Canon EF 70-300mm f4-5.6 IS USM lens. I'm so pleased with it!

Following my picture inpirations, I enjoy to much the perfectly smooth and soft blur is can produce. So much stronger to much deep that the one produce by my Canon EF-S 18-55mm f/3.5-5.6 IS Lens!

Second crazy amazing feature, the USM motor used for the autofocus. So accurate and so fast! However, one issue is the desperate need of lights of this lens which evolved some trouble to focalize in such condion. I have also notice some trouble to focalize when lighting is really to strong (like taking a picture of the sun).

This lens is stabilize with two different modes: The first mode is the classic full stabilization mode for none moving subject. The second mode is a vertical or horitonal stabilization which allow to move the camera when taking a picture of a moving subject for example. It's a really nice feature for wildlife or sport pictures.

I'm really happy with this lens with is also perfect for my macro picture with 300mm lens techniques. It needs to take pictures at 2 meters from the subject but the blur is so nice and the picture quite shape for such lens.

Canon EF 70-300mm f4-5.6 IS USM picture
Submit a comment
^ | 03/04/2009 | RSS feed updated and fixed

I fixed the RSS feed of G-Truc Creation so that it finally works on Google Reader.

Submit a comment
^ | 01/04/2009 | GLM 0.8.2.3 released

A new update of GLM is available.

Submit a comment
^ | 28/03/2009 | GLI 0.1.0.0 released

OpenGL Image (GLI) is a "new" C++ project I'm working on mostly based on old image code.

It allows to load images (DDS and TGA), save images (TGA), to apply few image operations (flip, mirror) and manipulate image data (duplicate, crop, copy part of images and generate mipmaps), etc.

This is still the beginning of the project, the API may change, bugs could occure and obviously features are still very limited.

For the future of this project, I would like to add feature like arthmetic operations, blending, trilinear filtering, blitting, rotations, various color operations, compression and so on. Also, I expect to provide some quite of OpenCL support ...

A lot of work is still needed, there is not even any documentation but it is already quite useful in a combined use with OpenGL for textures. This is kind of a preview so any feedback will be much appreciated!

GLI requires GLM and Boost to build. This first release has been tested only with Visual Studio 8.0.

Submit a comment
^ | 26/03/2009 | Canon EOS 500D announced!

I have just bought my Canon EOS 450D and Canon already announced this Canon EOS 500D ... how unfortunate. It's not suposed to replace the Canon EOS 450D but reach a little bit higher gamme to compete with the Nikon D90.

Well sound like theory but for sure it makes a better competitor to the Nikon D90 because like this camera for Nikon, it is the first camera to bring video recording for a Canon advanced amator camera ... A feature I would love to have to my camera!

It can record at 30 FPS in HD720 and 20 FPS in HD1080. Quite impressive even if this type of camera is not likely going to make you film an amazing movie! It could be a great fun of experimenting!

Like the Canon EOS 450D, it is very light for a camera of this quality thanks to the use of plastic body material. One big advantage over Nikon camera for my point of view even if it doesn't look as good. It is still sold with the good generic 18-55 IS lens within a kit. However, it gets the 15MP sensor of the 50D which allow the video mode and a better 640*480 screen. It also extended the ISO range to 3200 which can be expanded to ISO 12800.

Not actually much for this new camera ... expect this video mode! Well, I'm still happy with my lovely 450D :)

Submit a comment
^ | 25/03/2009 | OpenGL 3.1 released at GDC 2009!

Such an unexpected event! OpenGL 3.1 and GLSL 1.4 got released at GDC 2009. I was actually expecting it for Siggraph 2009 as usual but the ARB releases OpenGL 3.1 really fast this time! The amount of work is however quite significant and I'm going to present some aspects of it.

What about the deprecated features?
Two specifications are actually availabled. One specification with all the deprecated features included and one specification with some deprecated features removed. For the books, the specification with the deprecated features are the speficiation without the deprecated features plus the extension GL_ARB_compatibility. Obviously, isn't it? This is quite a shift according what was initially planned with the WGL_CONTEXT_FLAGS of WGL_ARB_create_context. nVidia is completely against the idea of removing the deprecated features so basically in the drivers nothing is going to change for a while. nVidia claims the idea that they want to keep them, that their customers need these features, which is true but which doesn't simplify the developer work and a good pratice learning process. I wrote "some deprecated features removed". I'm not exactually sure of what was deprecated. I thought triangle fan were but they are still part of OpenGL 3.1 specifications ... It's the kind of feature I would have enjoy to see going away! GL_NV_primitive_restart might give a second life for strips ans fans. In other hand, display list are deprecated ... and I'm not really happy about it. They are still very useful to me to create immutable objects for OpenGL states. There is no other feature to do so. However, I think that display list become more and more complicate to use because lot of extensions doesn't allow to register some functions in the display list ... I would enjoy some immutable states objects or so for those or individual object groups. Blend object, test object, rasterizer object, etc. I'm actually wondering how the ARB expect to manage deprecated feature in the future. How are they going to name the new deprecated extensions? Further, features are going to be deprecated like most of the glUniform* functions, hopefully some draw calls and obviously more through time. I would have expected some kind of GL_ARB_compatibility_30 to say that all the features of OpenGL 3.0 are supported and in the future we could expect some kind of GL_ARB_compatibility_31 for some deprecated features from OpenGL 3.1 in OpenGL 3.2 for example.

GL_ARB_uniform_buffer_object:
This is THE feature I was expecting! This extention is an evolution of GL_EXT_bindable_uniform with a lot of improvements. It's purpose is to reduce or replace the calls of glUniform* functions to set every single uniform variable of a GLSL program. All the data are instead store in buffer objects. Beyond this feature from GL_EXT_bindable_uniform, GL_ARB_uniform_buffer_object provides the capability to use several buffers for a uniform block in a way close to transform feedback. It's also provide several profiles to let the compiler optimize dead uniform, through elimination layout(packed) or to make sure the interface remains as defined in the code layout(std140). So far the community feedback on this extension is excellent, as mine! :)

An extract of issue 47 of GL_ARB_uniform_buffer_object specification about the block layout qualifiers. Issues 48 and 75 gives further informations about the std140 packing.

packed:
- Implementation may optimize the layout to remove inactive uniforms and otherwise restructure the layout for efficiency.
- Application must query the GL for the uniform block layout.
shared:
- Implementation may optimize the layout but must use the same layout across shaders so that the resulting layout can be shared by multiple shaders.
- Application must query the GL for the uniform block layout.
std140:
- Implementation must use the pre-determined layout, defined in this specification.
- Application need not query the implementation for layout information as it can be determined by reading the shader and the specification.

GL_ARB_copy_buffer:
This extension is directly promoted to core even if no one ever heard of it before. The extension specification are not even available yet. Whatever, this extension simply allows to copy a part of a buffer in an other which could be useful especially for softwares that use OpenGL and OpenCL together or maybe softwares that use transform feedback to modify some buffers but which need keeping the original data. A good feature, almost obvious those days.

Promoted extensions:
GL_ARB_draw_instanced (draw several instances with a single draw call) and GL_ARB_texture_buffer_object (An access of a whole large buffer like a 1D texture) get promoted to core as expected. GL_NV_primitive_restart is also promoted to core. This extension allows to restart primitives in a single draw call. Like several glEnd() / glBegin() into a single draw call. It could be usefull for triangle fans but especially for triangle strips. I have never used it and I'm not planning to use it, indexed buffer gives better results in matter of vertex caching as far as I know. Finally, GL_ARB_texture_rectangle get promoted to core! I wasn't especting it anymore, this extension is so old now and the ARB had initially decided not to promote it because of the non power of two textures of OpenGL 2.0. I'm glade, they change their minds, I'm still using this extension and enjoying it really much!

Upgraded capabilities:
OpenGL 3.1 required graphics card that support at least 16 texture units in a vertex shader and provides SNORM texture formats.

Missing features:
An extension that a lot of people was expect to see promoted to core, the false good idea: GL_ARB_geometry_shader4. I don't like geometry shaders which I still believed should be called primitive shaders but anyway in pratice this feature is not really useful except for few cases. Also missing but which would have been nice to have: GL_EXT_texture_swizzle and GL_EXT_vertex_array_bgra for more compatibility with Direct3D. Finally, but no one was actually expecting it soon: GL_EXT_direct_state_access. This extension still need some work from my point of view but when it's going to be really, it's going to deeply change OpenGL programming! I plan to write about it later, dealing with my experience of it.

OpenGL 3.1 support and drivers.
OpenGL 3.1 require the same level of hardware than OpenGL 3.0 which means GeForce 8, Radeon HD2000 and Chrome 400. nVidia already provides some beta drivers for OpenGL 3.1. Honestly, features support is far from compliant yet, no std140, column_major and row_major layout qualifiers in GLSL 1.4, no GL_ARB_uniform_buffer_object yet but it provides GL_ARB_compatibility (not much work to do...) and GL_ARB_copy_buffer. No doubt it's going to be available quite soon, I would say within 3 months. ATI already provides GL_ARB_texture_buffer_object (Catalyst 9.3) and GL_EXT_bindable_uniform (Catalyst 9.2), the work to OpenGL 3.1 is in the good direction. We can expect full support withim 6 months I guest. ATI publish a lot of new extensions recently I will coming back to this in a next topic.

Conclusions.
My overall first impression of OpenGL 3.1 is good especially because of this wonderful GL_ARB_uniform_buffer_object extension and also the promotion to core of GL_ARB_texture_rectangle which makes it reliable for the future. The deprecation model seems still odd to me and I'm not sure it's going to be reliable or changed anything soon. The ARB remains active and I'm looking forward OpenGL 3.2 ... at Siggraph 2009? At least I'm sure we would get news about it during this event!

Submit a comment
Archives
Copyright © 2002-2009 all right reserved