I hope I'm in the right place in this forum (if not I'll be happy to redirect my question).
First, my specs:
Dell Studio 1558 - core i7 Q720 @1.6GHz, 4GB RAM, 500GB HDD, ATI Mobility Radeon 5470HD 1GB.
Windows 8-pro 64bit version (recently upgraded. Though some say it's a downgrade ).
I have downloaded and successfully installed the latest driver package with the catalyst utility. My driver version, as of now, is 188.8.131.52 (dated 9/27/2012).
Problem Background (what caused me to speculate a driver problem):
I'm a Java developer, trying to create a 3D application (a simple game, for that matter). There is a convenient engine called "jMonkey", which is free and is what I'm using. As a part of my learning process, I was trying to apply a Normal Map to an existing 3D object through a very detailed tutorial they posted (including code). This is their tutorial: http://jmonkeyengine.org/wiki/doku.php/jme3:beginner:hello_material .
Unfortunately, although almost everything worked, the normal map didn't load. Applying the same code on a friend's computer (exactly the same code, with the same Java libraries) worked perfectly, as it did for almost anyone else using that tutorial. For me, it didn't work.
I wrote in the jMonkey developers forum (many, many posts...) where I double checked everything code-related, definition-related and whatnot, from the graphic engine's side. It seemed the problem was indeed with the graphic card, or at least its drivers.
I suspect the driver does not support many basic features (albeit supporting some of them) of openGL or rendering graphics in general.
What did I do to detect the problem and potentially solve it:
Obviously, I re-downloaded the catalyst application and installed the driver again. Still, the example application from the tutorial was working partially, but not fully (no Normal Maps, for example). I decided to check other code examples the graphic engine's developers included. Some of it worked, while others failed and crashed, stating things like I'm missing some GLSL100 Caps and other mysterious messages. So I used a given object, from the graphic engine's SDK, to detect my card's capabilities. This is a simple code snippet which does that:
Collection<Caps> caps = renderer.getCaps();
Iterator<Caps> it = caps.iterator();
where "Caps" as well as "renderer" are an objects from the engine's libraries: com.jme3.renderer.Caps and com.jme3.app.SimpleApplication.
On my friend's laptop (where the example code from the jMonkey's tutorial worked perfectly), an ASUS running an nVidia graphic card (same age as mine), the following output was produced:
FrameBuffer, FrameBufferMRT, FrameBufferMultisample, TextureMultisample, OpenGL20, OpenGL21, OpenGL30, OpenGL31, OpenGL32, ARBprogram, GLSL100, GLSL110,
GLSL120, GLSL130, GLSL140, GLSL150, VertexTextureFetch, TextureArray, TextureBuffer, FloatTexture, FloatColorBuffer, FloatDepthBuffer, PackedFloatTexture,
SharedExponentTexture, PackedFloatColorBuffer, TextureCompressionLATC, NonPowerOfTwoTextures, MeshInstancing, VertexBufferArray, Multisample, PackedDepthStencilBuffer.
While on MY device, with the exact same code, this was the printout:
This greatly strengthens my suspicion that something is wrong with my driver.
For example, I do know that the 5470 HD card I have supports openGL 3.2; and yet, it is not printed out when I ask to evaluate what capabilities my card actually has, through code. Although the ability to handle textures that are not a power of two by power of two size is welcomed, many other things are sourly missed.
What can I do to solve this issue? I was very happy with my card so far and would be happy to continue developing with it. The ability to handle normal maps seems pretty basic to me. Please share any thoughts you might have on this issue, as I've scoured the earth looking for answers and have found none. This is critical for me to continue my work.
Thanks for reading this long post.
I'm sorry but I do not know whether this code example works for Windows-7. I only started developing after I upgraded.
I'm sorry if some terminology is wrong, or if I say things that are pretty "basic". I'm just starting with all this.
Thank you very very much,