Problem with QuickGUI demo...

Artic_Ice83

26-11-2007 19:09:31

Hello everyone! First of all, I'm sorry for my english but i'm italian...
Second, i have a question: when i try to launch the compiled demo included in quick gui preRelease 0.9.7 the application give me an error like "An unhandled win32 exception occurred in QuickGUIDemo.exe. Just-In-Time debugging...".
I have visual C++ 2005 express + SP1 installed on my pc, and i don't know if is in this compiler the problem or not.

I have another question: I am new in QuickGUI, there's someone who can help me in starting with this GUI? I have already read the wiki, but not understand very well how create, for example, a window with a button or other.... :oops:

kungfoomasta

26-11-2007 19:17:53

Currently, the best example of QuickGUI use would be the demo (source code). I would like to put some work into documentation and the wiki, but it can't currently fit in with all the other TODOs on my plate. :wink:

The first step to using the library would be to get the compile, build, and run the demo. Download the OgreSDK, 1.4.5 for example. Install it to C:\OgreSDK. Next, extract QuickGUI into C:, so that the C drive has the following folders:

C:\OgreSDK
C:\QuickGUI

Open QuickGUI.sln and try to build the library and demo. Look at the ogre.log and note any exceptions or errors. Break into the demo and see why it crashes at runtime. If there are still problems, post them and somebody will help. :)

Artic_Ice83

26-11-2007 19:22:10

Ok. Thank you for the reply!
I will try and if there's problems post.

PolyVox

27-11-2007 08:54:04

Well I'm in a similar situation - I've been trying to build and run the QuickGuiDemo. I've just this moment managed it :)

As I mentioned in in the other thread (http://www.ogre3d.org/phpBB2addons/viewtopic.php?t=5820) it doesn't compile against CVS Head. I've fixed this now by replacing the line 276 of QuickGUI Demo.h:

rttTex = mRoot->getRenderSystem()->createRenderTexture( "RttTex", 512, 512, TEX_TYPE_2D, PF_R8G8B8 );
with:
rttTex = TextureManager::getSingletonPtr()->createManual("RttTex", "Default", TEX_TYPE_2D, 512, 512, 0, PF_R8G8B8 )->getBuffer()->getRenderTarget();

There were also problems with the OIS libraries - the build process expects a variable called $(OIS_HOME) to be defined. Maybe this works for the SDK, but when building OGRE from source there didn't seem to be one place I could set this which gave me both the headers and the libs. I didn't look hard though - just change the paths in project properties to find the OIS libs.

The build process then tries to copy files into $(OGRE_HOME)\bin\$(ConfigurationName) - this folder doesn't exist in CVS and so the build fails. You have to create it manually (in my case it was c:/ogrenew/bin/release) and then rebuild.

The zip file also appears to be missing any .cfg files. I copied plugins.cfg and all the .dll files from the Ogre samples directory and created the following resourses.cfg file:

# Resource locations to be added to the 'boostrap' path
# This also contains the minimum you need to use the Ogre example framework
[Bootstrap]
Zip=C:/ogrenew/bin/Release/media/packs/OgreCore.zip

# Resource locations to be added to the default path
[General]
FileSystem=C:/ogrenew/bin/Release/Media
FileSystem=C:/ogrenew/bin/Release/fonts
FileSystem=C:/ogrenew/bin/Release/Media/materials/programs
FileSystem=C:/ogrenew/bin/Release/Media/materials/scripts
FileSystem=C:/ogrenew/bin/Release/Media/materials/textures
FileSystem=C:/ogrenew/bin/Release/Media/models
FileSystem=C:/ogrenew/bin/Release/Media/overlays
FileSystem=C:/ogrenew/bin/Release/Media/particle
FileSystem=C:/ogrenew/bin/Release/Media/gui
FileSystem=C:/ogrenew/bin/Release/Media/DeferredShadingMedia
FileSystem=C:/ogrenew/bin/Release/Media/PCZAppMedia

FileSystem=C:/ogrenew/bin/Release/media/skins/qgui
FileSystem=C:/ogrenew/bin/Release/media/skins/qgui_demo
FileSystem=C:/ogrenew/bin/Release/media/skins
FileSystem=C:/ogrenew/bin/Release/media/fonts

Zip=C:/ogrenew/bin/Release/Media/packs/cubemapsJS.zip


You may need to change the exact paths for your system, and I've probably included some redundant stuff.

There may have been other things I did which I've now forgotten - but basically it now works!

Good luck - I'm actually away for a week or so now so I won't be replying to this thread.

OGRE EXCEPTION(5): Could not find font micross

Artic_Ice83

27-11-2007 13:37:26

Well. This afternoon i'll try to install the new SDK and then buid the QuickGUI SDK. I'll try also to install the visual C++ 2008 express...

@PolyVox: If i still have problems, i'll try what you wrote.

Artic_Ice83

27-11-2007 19:34:15

@kungfoomasta: I did what you say and now the example compiles perfectly and don't give me errors or exception (i still have visual 2005 express sp1 installed), but when i run the application, don't show me anything, only a black screen with the mouse pointer. If i press ESC it exit from the application.
i suppose that i must modify the resources file of ogre, to tell him that i want to use the skin or not?

Artic_Ice83

28-11-2007 14:43:33

well...now i have solved all my problems. I've add the resources in the file resources.cfg and change all the paths in QuickGUIDemo.h and now all go!!!
:D
it was a stupid error... :oops:
And now...i begin to study the code and how QuickGUI function!
I love quickGUI!!! :D

kungfoomasta

28-11-2007 17:44:29

Glad you got it working in short time! :)

fatcop

07-12-2007 13:34:39

Hello an Ogre noobie here.

I was cruising through the tutorials (using CVS trunk source) until I hit Tutorial #7, section "Render to Texture".

In the 2nd block of code, it still uses the (apparently now deprecated) createRenderTexture() function.

Thanks to you all in this thread for providing the new code that works.

Would someone with wiki editing powers please update the tute code so people like me can stand in awe of the might Ogre.

http://www.ogre3d.org/wiki/index.php/Ba ... to_Texture

This is the code that worked for me.

Change:

RenderTexture *tex = mRoot->getRenderSystem()->createRenderTexture("RttTex", 512, 512, TEX_TYPE_2D, PF_R8G8B8);

To:

RenderTexture *tex= mRoot->getTextureManager()->createManual("RttTex", "Default", TEX_TYPE_2D, 512, 512, 0, PF_R8G8B8 )->getBuffer()->getRenderTarget();

Cheers :)

fatcop

07-12-2007 13:51:59

Actually I posted too soon. It compiled but is tripping an assert (in debug mode) from that new line at runtime.

RenderTexture *D3D9HardwarePixelBuffer::getRenderTarget(size_t zoffset)
{
assert(mUsage & TU_RENDERTARGET);
assert(zoffset < mDepth);
return mSliceTRT[zoffset];
}


That first assert is being tripped.

I am just don't really have enough understanding of Ogre and textures etc to be able to know how to fix this.

Any ideas ?? Especially to update that rest of that tutorial code so that it works. Thanks again.

ps. besides this little glitch, mighty fine tutes I must say :)

Zini

07-12-2007 15:23:43

Try


createManual("RttTex", "Default", TEX_TYPE_2D, 512, 512, 0, PF_R8G8B8, TU_RENDERTARGET)


instead.

fatcop

08-12-2007 00:38:20

thank you very much, that fixed it :)