Not working on Intel GMA?

InvaderZim

11-03-2009 14:10:34

I've build PagedGeometry and Ogre on VC8.0 and compiled the first example. It crashes in the D3D plugin, and while it runs with the openGL plugin, it sometimes garbles the tree trunk texture, as in the image below. The crash message is "Failed to DrawPrimitive : Invalid call" in D3D9RenderSystem::_render()



This happens on a Intel GMA 950 notebook, but not on an NVidia card in another machine. I also downloaded the pre-compiled examples for version 1.03, and those run fine! So it's either my Ogre build that is broken, or something has changed since that version.

I'm willing to invest time into finding this, if someone can help me out. I'd really like to use this library for my game, but I want to support my laptop.

InvaderZim

11-03-2009 14:23:12

I found the prebuilt examples for 1.05 and compared: Most of them don't rnu either, even when their 1.03 counterparts worked. The only examples that run are GrassLoader, LightMaps and Forest Demo.

InvaderZim

15-03-2009 07:28:10

Good News: Whatever caused the crash is fixed in the current subversion trunk.
Not-So-Good News: I'm still seeing the OpenGL texture corruption.

Fish

15-03-2009 19:07:43

Try upgrading to the latest version of the CG dependency, clean, and recompile everything. You'll need to copy the new CG headers to your [OGRE_DEPENDENCIES]/include/Cg folder and copy the new CG .lib to the [OGRE_DEPENDENCIES]/lib/debug and [OGRE_DEPENDENCIES]/lib/release folder. Also copy the new cg.dll to the directory where your executable resides.

Also make sure you have the latest drivers for your video card.

-Fish

InvaderZim

15-03-2009 20:58:30

Thanks. Tried it, and that makes the bogus part of the texture become black instead of random, but fundamentally the problem stays the same.

Fish

16-03-2009 19:53:46

Hmm...I'm wondering if the OpenGL shader support of the GMA video card is lacking somehow. The GMA card supports OpenGL 1.4 but we have run into other odd problems with ATI cards that only support gl 1.4. Or maybe the cg library is converting the CG shader in a way that your video card does handle very well.

You could try converting the shader in BatchPage.cpp from CG/HLSL to native GLSL. That way you'll bypass the cg library and rule that out as the issue, but your app will only work with the OpenGLRendering System (which isn't a bad thing really).

-Fish

tdev

29-06-2009 11:41:53

is the texture corruption fixed when using your native GLSL patch?

Fish

19-12-2009 15:04:57

is the texture corruption fixed when using your native GLSL patch?

Sorry for the *late* reply. The GL shaders fix the problem for the ATI x300 card (PC laptop), but there still remains an issue when using fog in the scene, all of the tree trunks are tinted white when fog is active. Also with the x300 card, and totally unrelated to PG, if I try to use terrain vertex normals the terrain polygons are crumpled up into a little ball at the origin. However, there are no problems whatsoever when using DX on the x300. There are no issues on my Nvidia 7900GS (PC Desktop).

On the ATI 1900 (MAC laptop) the tree trunks are tinted neon green but fog seems to work correctly.

It seems like the cards that are having the most difficulty with PG are Intel cards and older ATI/Nvidia cards.

-Fish