QuickGUI 0.9.6 problem with OpenGL

wambli

24-08-2007 14:47:00

Hi,
I'm making some test with QuickGUI. I have to report that the demo and a pair of applications don't work in OpenGL. All I get is a black window.
This happens with the new 0.9.6 version, the beta version works pretty fine instead.
Tested cards: nvidia go 7700, nvidia 6600 gt, ati 1900 gt.

Has anyone experienced this?
Thanks

kungfoomasta

24-08-2007 19:23:16

Wow, thanks for pointing this out, I see the same on my end.

The root cause of the problem, for some reason, is creation of a manual texture:

Ogre::TexturePtr tp =
static_cast<Ogre::TexturePtr>(tm->createManual("QuickGUI.White",Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,Ogre::TEX_TYPE_2D,1,1,0,0,Ogre::PF_A8B8G8R8));


And is a part of this function:

void GUIManager::_createDefaultTextures()
{
Ogre::TextureManager* tm = Ogre::TextureManager::getSingletonPtr();
// QuickGUI.White - Plain White
if( !tm->resourceExists("QuickGUI.White") )
{
Ogre::TexturePtr tp =
static_cast<Ogre::TexturePtr>(tm->createManual("QuickGUI.White",Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,Ogre::TEX_TYPE_2D,1,1,0,0,Ogre::PF_A8B8G8R8));

Ogre::HardwarePixelBufferSharedPtr buf = tp->getBuffer();
buf->lock(Ogre::HardwareBuffer::HBL_NORMAL);
const Ogre::PixelBox& pb = buf->getCurrentLock();
Ogre::uint8* pixelData = static_cast<Ogre::uint8*>(pb.data);

*pixelData++ = 255; // Blue
*pixelData++ = 255; // Green
*pixelData++ = 255; // Red
*pixelData++ = 255; // Alpha

buf->unlock();
}

// QuickGUI.TextSelection - Used for text selections. Has half alpha value.
if( !tm->resourceExists("QuickGUI.TextSelection") )
{
Ogre::TexturePtr tp =
static_cast<Ogre::TexturePtr>(tm->createManual("QuickGUI.TextSelection",Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,Ogre::TEX_TYPE_2D,1,1,0,0,Ogre::PF_A8B8G8R8));

Ogre::HardwarePixelBufferSharedPtr buf = tp->getBuffer();
buf->lock(Ogre::HardwareBuffer::HBL_NORMAL);
const Ogre::PixelBox& pb = buf->getCurrentLock();
Ogre::uint8* pixelData = static_cast<Ogre::uint8*>(pb.data);

*pixelData++ = 255; // Blue
*pixelData++ = 255; // Green
*pixelData++ = 255; // Red
*pixelData++ = 200; // Alpha

buf->unlock();
}
}


If I comment out this function, everything loads fine. However, I need the texture "QuickGUI.TextSelection" for text selecting/highlighting. Does anybody know why I can't make the call "createManual" with OpenGL? I guess I will have to ask on the Ogre forums..

kungfoomasta

25-08-2007 06:32:48

I have posted on the Ogre development forum, with no response so far:

http://www.ogre3d.org/phpBB2/viewtopic.php?t=35306

If nothing comes of it, I can just make a texture in photoshop, and thus make v0.9.6 compatible with OpenGL again. I'll wait until tomorrow evening.. its either incorrect usage of TextureManager::createManual, or a bug. But it works using Direct X . . . :roll:

wambli

25-08-2007 14:29:23

I have posted on the Ogre development forum, with no response so far:

http://www.ogre3d.org/phpBB2/viewtopic.php?t=35306

If nothing comes of it, I can just make a texture in photoshop, and thus make v0.9.6 compatible with OpenGL again. I'll wait until tomorrow evening.. its either incorrect usage of TextureManager::createManual, or a bug. But it works using Direct X . . . :roll:


As Sinbad suggested, I've changed the depth value from 0 to 1.
And it works.
Now there's a little problem with the mouse cursor: it's followed by a semi-trasparent trail or triangle. (I noticed this since the beta version).

kungfoomasta

25-08-2007 19:05:38

Now there's a little problem with the mouse cursor: it's followed by a semi-trasparent trail or triangle. (I noticed this since the beta version).

Screenshot?

I'm seeing an issue when I try to change the progress of the progress bar, looking into that right now.

wambli

25-08-2007 20:46:59

Ok, here are 2 screenshot with 2 different effects (for the second notice the white line starting from the mouse over widget window)
Card: Nvidia Go 7700


kungfoomasta

25-08-2007 22:40:40

Strange, my laptop has the same card as yours (512 mb also?) and I do not see the same effects. When is the last time you updated drivers? What driver version do you have? Do you see this on other video cards?

[edit] How did you reproduce those 2 different effects? What is the difference between each run? [/edit]

wambli

26-08-2007 14:06:19

Yes, I think we have the same card (and probably the same laptop).
Could be a driver problem, since I still have the 86.02 driver version that comes with the laptop. What version do you have kungfoomasta?
I also tested it with an nvidia 6600gt and I had no problem.

wambli

26-08-2007 17:20:45

Ok, problem solved :D
I've upgraded to 156.09

kungfoomasta

26-08-2007 18:49:17

I don't remember what driver I installed on it, only that I updated a few months ago.

Glad its working now. :)