Trouble getting started with QuickGUI

Ibw

02-06-2009 01:23:33

I built all of the QuickGUI code using Visual Studio Express 2008 and everything went relatively smoothly. The problems began when I tried to put some QuickGUI code into my own project. When debugging the project, I came across the following exception:

"OGRE EXCEPTION(20:): No definitions for type "SkinClass" found! in ScriptReader::_getDefinitions"

Does anyone know what may be causing this and how I can fix it?

kungfoomasta

02-06-2009 18:33:39

It looks like you don't have any SkinTypes defined. By default I provide a file "qgui.skinTypes", which should be located in an Ogre resource directory. Without any SkinTypes, QuickGUI doesn't know how to skin any widgets. Also make sure to include qgui.textures.zip, as the skin definitions reference images found in the provided zip.

Ibw

02-06-2009 21:36:54

Thanks! It works now. I figured that my problem was something like that, but I wasn't quite sure which files it was that QuickGUI wasn't finding.

dredogol

18-06-2009 23:25:23

Hmmm, I'm running into the same run-time error right now...

in my resources.cfg file, i have:
FileSystem = ../../QuickGUI_v905/mediaWhich is where all the QuickGUI resource files for my project are located (same files found in the REPO)

The code snippet I'm using is this:
void GameManager::start (GameState *state)
{
mRoot = new Root();
setupResources();
if (!configure()) return;
TextureManager::getSingleton().setDefaultNumMipmaps (5);
{
QuickGUI::registerScriptReader();
}
ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
{
mp_guiRoot = new QuickGUI::Root();
QuickGUI::SkinTypeManager::getSingleton().loadTypes();
mp_guiManager = QuickGUI::Root::getSingletonPtr()->
createGUIManager (m_guiMngDesc);
}

I have both files you mentioned in that /media folder of mine.

kungfoomasta

18-06-2009 23:31:04

You get the same exception in your ogre.log?

OGRE EXCEPTION(20:): No definitions for type "SkinClass" found! in ScriptReader::_getDefinitions

Can you post the Ogre.log, and code of your setupResources(); function?

I also forgot to mention that you'll need at least 1 font defined, in a .fontdef folder. For the next release I will make things simple by having a "QuickGUI_Core.zip", so users only have to worry about 1 file.

dredogol

19-06-2009 01:28:42

No, my log file does not show the Exception (20).

Here is the code for the setupResources:
void GameManager::setupResources (void)
{
// Load resource paths from (resources.cfg) file
ConfigFile cf;
cf.load("resources.cfg");

// Go through all sections and settings in the file
ConfigFile::SectionIterator seci = cf.getSectionIterator();

String secName, typeName, archName;
while (seci.hasMoreElements()) {
secName = seci.peekNextKey();
ConfigFile::SettingsMultiMap *settings = seci.getNext();
ConfigFile::SettingsMultiMap::iterator i;
for (i = settings->begin(); i != settings->end(); ++i) {
typeName = i->first;
archName = i->second;

#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
// OS X does not set the working directory relative to the app,
// In order to make things portable on OS X we need to provide
// the loading with it's own bundle path location
ResourceGroupManager::getSingleton().addResourceLocation(
String(macBundlePath() + "/" + archName), typeName, secName);
#else
ResourceGroupManager::getSingleton().addResourceLocation(
archName, typeName, secName);
#endif
}
}
}

Also, my QuickGUI media folder does not have a (.fontdef) file in it (from the SVN version).
However, the download release version does have them. Which one do i need for the Test.sheet file? There are:
- delek.fontdef
- micross.fontdef
- Ogre.fontdef
- sample.fontdef
- trebuchet_bold.fontdef

Even after adding all those fontdef to my media folder, I still get the Ogre Exception error...

kungfoomasta

19-06-2009 02:01:28

Can you post the Ogre exception you're getting? The Ogre log would also be helpful, as I've added a lot of logging to QuickGUI to help show what issues that occur.

The .fontdef files also reference True Type Font files, .ttf. Make sure you have corresponding ttf files in the directory. I use micross.fontdef, but I haven't committed it because I'm not really sure on the license of the font. Basically if you have any font recognized by Ogre, QuickGUI will be happy with it.

dredogol

19-06-2009 04:21:19

Sorry, I forgot to add that I DID add the fonts as well into the folder.

here is the full ogre log
20:44:02: Creating resource group General
20:44:02: Creating resource group Internal
20:44:02: Creating resource group Autodetect
20:44:02: SceneManagerFactory for type 'DefaultSceneManager' registered.
20:44:02: Registering ResourceManager for type Material
20:44:02: Registering ResourceManager for type Mesh
20:44:02: Registering ResourceManager for type Skeleton
20:44:02: MovableObjectFactory for type 'ParticleSystem' registered.
20:44:02: OverlayElementFactory for type Panel registered.
20:44:02: OverlayElementFactory for type BorderPanel registered.
20:44:02: OverlayElementFactory for type TextArea registered.
20:44:02: Registering ResourceManager for type Font
20:44:02: ArchiveFactory for archive type FileSystem registered.
20:44:02: ArchiveFactory for archive type Zip registered.
20:44:02: FreeImage version: 3.10.0
20:44:02: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
20:44:02: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi,exr,j2k,j2c,jp2
20:44:02: DDS codec registering
20:44:02: Registering ResourceManager for type HighLevelGpuProgram
20:44:02: Registering ResourceManager for type Compositor
20:44:02: MovableObjectFactory for type 'Entity' registered.
20:44:02: MovableObjectFactory for type 'Light' registered.
20:44:02: MovableObjectFactory for type 'BillboardSet' registered.
20:44:02: MovableObjectFactory for type 'ManualObject' registered.
20:44:02: MovableObjectFactory for type 'BillboardChain' registered.
20:44:02: MovableObjectFactory for type 'RibbonTrail' registered.
20:44:02: Loading library .\RenderSystem_Direct3D9_d
20:44:02: Installing plugin: D3D9 RenderSystem
20:44:02: D3D9 : Direct3D9 Rendering Subsystem created.
20:44:02: D3D9: Driver Detection Starts
20:44:02: D3D9: Driver Detection Ends
20:44:02: Plugin successfully installed
20:44:02: Loading library .\RenderSystem_GL_d
20:44:02: Installing plugin: GL RenderSystem
20:44:02: OpenGL Rendering Subsystem created.
20:44:02: Plugin successfully installed
20:44:02: Loading library .\Plugin_ParticleFX_d
20:44:02: Installing plugin: ParticleFX
20:44:02: Particle Emitter Type 'Point' registered
20:44:02: Particle Emitter Type 'Box' registered
20:44:02: Particle Emitter Type 'Ellipsoid' registered
20:44:02: Particle Emitter Type 'Cylinder' registered
20:44:02: Particle Emitter Type 'Ring' registered
20:44:02: Particle Emitter Type 'HollowEllipsoid' registered
20:44:02: Particle Affector Type 'LinearForce' registered
20:44:02: Particle Affector Type 'ColourFader' registered
20:44:02: Particle Affector Type 'ColourFader2' registered
20:44:02: Particle Affector Type 'ColourImage' registered
20:44:02: Particle Affector Type 'ColourInterpolator' registered
20:44:02: Particle Affector Type 'Scaler' registered
20:44:02: Particle Affector Type 'Rotator' registered
20:44:02: Particle Affector Type 'DirectionRandomiser' registered
20:44:02: Particle Affector Type 'DeflectorPlane' registered
20:44:02: Plugin successfully installed
20:44:02: Loading library .\Plugin_BSPSceneManager_d
20:44:02: Installing plugin: BSP Scene Manager
20:44:02: Plugin successfully installed
20:44:02: Loading library .\Plugin_CgProgramManager_d
20:44:02: Installing plugin: Cg Program Manager
20:44:02: Plugin successfully installed
20:44:02: Loading library .\Plugin_PCZSceneManager_d.dll
20:44:02: Installing plugin: Portal Connected Zone Scene Manager
20:44:02: PCZone Factory Type 'ZoneType_Default' registered
20:44:02: Plugin successfully installed
20:44:02: Loading library .\Plugin_OctreeZone_d.dll
20:44:02: Installing plugin: Octree Zone Factory
20:44:02: Plugin successfully installed
20:44:02: Loading library .\Plugin_OctreeSceneManager_d
20:44:02: Installing plugin: Octree & Terrain Scene Manager
20:44:02: Plugin successfully installed
20:44:02: *-*-* OGRE Initialising
20:44:02: *-*-* Version 1.6.1 (Shoggoth)
20:44:02: Creating resource group Bootstrap
20:44:02: Added resource location '../../OgreSDK_v162/media/packs/OgreCore.zip' of type 'Zip' to resource group 'Bootstrap'
20:44:02: Creating resource group GUI
20:44:02: Added resource location '../../media//gui' of type 'FileSystem' to resource group 'GUI'
20:44:02: Added resource location '../../QuickGUI_v905/media' of type 'FileSystem' to resource group 'GUI'
20:44:02: Added resource location '../../OgreSDK_v162/media' of type 'FileSystem' to resource group 'General'
20:44:02: Added resource location '../../OgreSDK_v162/media/fonts' of type 'FileSystem' to resource group 'General'
20:44:02: Added resource location '../../OgreSDK_v162/media/materials/programs' of type 'FileSystem' to resource group 'General'
20:44:02: Added resource location '../../OgreSDK_v162/media/materials/scripts' of type 'FileSystem' to resource group 'General'
20:44:02: Added resource location '../../OgreSDK_v162/media/materials/textures' of type 'FileSystem' to resource group 'General'
20:44:02: Added resource location '../../OgreSDK_v162/media/models' of type 'FileSystem' to resource group 'General'
20:44:02: Added resource location '../../OgreSDK_v162/media/overlays' of type 'FileSystem' to resource group 'General'
20:44:02: Added resource location '../../OgreSDK_v162/media/particle' of type 'FileSystem' to resource group 'General'
20:44:02: Added resource location '../../OgreSDK_v162/media/gui' of type 'FileSystem' to resource group 'General'
20:44:03: Added resource location '../../OgreSDK_v162/media/DeferredShadingMedia' of type 'FileSystem' to resource group 'General'
20:44:03: Added resource location '../../OgreSDK_v162/media/PCZAppMedia' of type 'FileSystem' to resource group 'General'
20:44:03: Added resource location '../../OgreSDK_v162/media/packs/cubemap.zip' of type 'Zip' to resource group 'General'
20:44:03: Added resource location '../../OgreSDK_v162/media/packs/cubemapsJS.zip' of type 'Zip' to resource group 'General'
20:44:03: Added resource location '../../OgreSDK_v162/media/packs/dragon.zip' of type 'Zip' to resource group 'General'
20:44:03: Added resource location '../../OgreSDK_v162/media/packs/fresneldemo.zip' of type 'Zip' to resource group 'General'
20:44:03: Added resource location '../../OgreSDK_v162/media/packs/ogretestmap.zip' of type 'Zip' to resource group 'General'
20:44:03: Added resource location '../../OgreSDK_v162/media/packs/skybox.zip' of type 'Zip' to resource group 'General'
20:44:03: Creating resource group Images
20:44:03: Added resource location '../../media/images' of type 'FileSystem' to resource group 'Images'
20:44:03: Creating resource group Models
20:44:03: Added resource location '../../media/models_mesh' of type 'FileSystem' to resource group 'Models'
20:44:03: Added resource location '../../media/models_material' of type 'FileSystem' to resource group 'Models'
20:44:03: Added resource location '../../media/models_skeleton' of type 'FileSystem' to resource group 'Models'
20:44:03: Creating resource group Music
20:44:03: Added resource location '../../media/music' of type 'FileSystem' to resource group 'Music'
20:44:03: Creating resource group Sounds
20:44:03: Added resource location '../../media/sounds' of type 'FileSystem' to resource group 'Sounds'
20:44:03: Creating resource group Terrain
20:44:03: Added resource location '../../media/terrain_heightmaps' of type 'FileSystem' to resource group 'Terrain'
20:44:03: Added resource location '../../media/terrain_textures' of type 'FileSystem' to resource group 'Terrain'
20:44:03: D3D9 : RenderSystem Option: Allow NVPerfHUD = No
20:44:03: D3D9 : RenderSystem Option: Anti aliasing = None
20:44:03: D3D9 : RenderSystem Option: Floating-point mode = Fastest
20:44:03: D3D9 : RenderSystem Option: Full Screen = No
20:44:03: D3D9 : RenderSystem Option: Rendering Device = NVIDIA GeForce 8600 GT
20:44:03: D3D9 : RenderSystem Option: VSync = No
20:44:03: D3D9 : RenderSystem Option: Video Mode = 800 x 600 @ 32-bit colour
20:44:03: D3D9 : RenderSystem Option: sRGB Gamma Conversion = No
20:44:03: CPU Identifier & Features
20:44:03: -------------------------
20:44:03: * CPU ID: GenuineIntel: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
20:44:03: * SSE: yes
20:44:03: * SSE2: yes
20:44:03: * SSE3: yes
20:44:03: * MMX: yes
20:44:03: * MMXEXT: yes
20:44:03: * 3DNOW: no
20:44:03: * 3DNOWEXT: no
20:44:03: * CMOV: yes
20:44:03: * TSC: yes
20:44:03: * FPU: yes
20:44:03: * PRO: yes
20:44:03: * HT: no
20:44:03: -------------------------
20:44:03: D3D9 : Subsystem Initialising
20:44:03: D3D9RenderSystem::_createRenderWindow "Game::Ogre", 800x600 windowed miscParams: FSAA=0 FSAAQuality=0 colourDepth=32 gamma=false useNVPerfHUD=false vsync=false
20:44:03: D3D9 : Created D3D9 Rendering Window 'Game::Ogre' : 800x600, 32bpp
20:44:03: D3D9 : WARNING - disabling VSync in windowed mode can cause timing issues at lower frame rates, turn VSync on if you observe this problem.
20:44:03: Registering ResourceManager for type Texture
20:44:03: Registering ResourceManager for type GpuProgram
20:44:03: D3D9: Vertex texture format supported - PF_FLOAT16_RGB
20:44:03: D3D9: Vertex texture format supported - PF_FLOAT16_RGBA
20:44:03: D3D9: Vertex texture format supported - PF_FLOAT32_RGB
20:44:03: D3D9: Vertex texture format supported - PF_FLOAT32_RGBA
20:44:03: D3D9: Vertex texture format supported - PF_FLOAT16_R
20:44:03: D3D9: Vertex texture format supported - PF_FLOAT32_R
20:44:03: D3D9: Vertex texture format supported - PF_FLOAT16_GR
20:44:03: D3D9: Vertex texture format supported - PF_FLOAT32_GR
20:44:03: RenderSystem capabilities
20:44:03: -------------------------
20:44:03: RenderSystem Name: Direct3D9 Rendering Subsystem
20:44:03: GPU Vendor: nvidia
20:44:03: Device Name: NVIDIA GeForce 8600 GT
20:44:03: Driver Version: 6.14.11.7824
20:44:03: * Fixed function pipeline: yes
20:44:03: * Hardware generation of mipmaps: yes
20:44:03: * Texture blending: yes
20:44:03: * Anisotropic texture filtering: yes
20:44:03: * Dot product texture operation: yes
20:44:03: * Cube mapping: yes
20:44:03: * Hardware stencil buffer: yes
20:44:03: - Stencil depth: 8
20:44:03: - Two sided stencil support: yes
20:44:03: - Wrap stencil values: yes
20:44:03: * Hardware vertex / index buffers: yes
20:44:03: * Vertex programs: yes
20:44:03: * Fragment programs: yes
20:44:03: * Geometry programs: no
20:44:03: * Supported Shader Profiles: hlsl ps_1_1 ps_1_2 ps_1_3 ps_1_4 ps_2_0 ps_2_a ps_2_b ps_2_x ps_3_0 vs_1_1 vs_2_0 vs_2_a vs_2_x vs_3_0
20:44:03: * Texture Compression: yes
20:44:03: - DXT: yes
20:44:03: - VTC: no
20:44:03: * Scissor Rectangle: yes
20:44:03: * Hardware Occlusion Query: yes
20:44:03: * User clip planes: yes
20:44:03: * VET_UBYTE4 vertex element type: yes
20:44:03: * Infinite far plane projection: yes
20:44:03: * Hardware render-to-texture: yes
20:44:03: * Floating point textures: yes
20:44:03: * Non-power-of-two textures: yes
20:44:03: * Volume textures: yes
20:44:03: * Multiple Render Targets: 4
20:44:03: - With different bit depths: yes
20:44:03: * Point Sprites: yes
20:44:03: * Extended point parameters: yes
20:44:03: * Max Point Size: 8192
20:44:03: * Vertex texture fetch: yes
20:44:03: - Max vertex textures: 4
20:44:03: - Vertex textures shared: no
20:44:03: * Render to Vertex Buffer : no
20:44:03: * DirectX per stage constants: yes
20:44:03: ***************************************
20:44:03: *** D3D9 : Subsystem Initialised OK ***
20:44:03: ***************************************
20:44:03: ResourceBackgroundQueue - threading disabled
20:44:03: Particle Renderer Type 'billboard' registered
20:44:03: SceneManagerFactory for type 'BspSceneManager' registered.
20:44:03: Registering ResourceManager for type BspLevel
20:44:03: SceneManagerFactory for type 'PCZSceneManager' registered.
20:44:03: MovableObjectFactory for type 'PCZLight' registered.
20:44:03: PCZone Factory Type 'ZoneType_Octree' registered
20:44:03: PCZone Factory Type 'ZoneType_Terrain' registered
20:44:03: SceneManagerFactory for type 'OctreeSceneManager' registered.
20:44:03: SceneManagerFactory for type 'TerrainSceneManager' registered.
20:44:03: Parsing scripts for resource group Autodetect
20:44:03: Finished parsing scripts for resource group Autodetect
20:44:03: Parsing scripts for resource group Bootstrap
20:44:03: Parsing script OgreCore.material
20:44:03: Parsing script OgreProfiler.material
20:44:03: Parsing script Ogre.fontdef
20:44:03: Parsing script OgreDebugPanel.overlay
20:44:03: Texture: New_Ogre_Border_Center.png: Loading 1 faces(PF_A8R8G8B8,256x128x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
20:44:03: Texture: New_Ogre_Border.png: Loading 1 faces(PF_A8R8G8B8,256x256x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
20:44:03: Texture: New_Ogre_Border_Break.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
20:44:03: Font BlueHighwayusing texture size 512x512
20:44:03: Info: Freetype returned null for character 127 in font BlueHighway
20:44:03: Info: Freetype returned null for character 128 in font BlueHighway
20:44:03: Info: Freetype returned null for character 129 in font BlueHighway
20:44:03: Info: Freetype returned null for character 130 in font BlueHighway
20:44:03: Info: Freetype returned null for character 131 in font BlueHighway
20:44:03: Info: Freetype returned null for character 132 in font BlueHighway
20:44:03: Info: Freetype returned null for character 133 in font BlueHighway
20:44:03: Info: Freetype returned null for character 134 in font BlueHighway
20:44:03: Info: Freetype returned null for character 135 in font BlueHighway
20:44:03: Info: Freetype returned null for character 136 in font BlueHighway
20:44:03: Info: Freetype returned null for character 137 in font BlueHighway
20:44:03: Info: Freetype returned null for character 138 in font BlueHighway
20:44:03: Info: Freetype returned null for character 139 in font BlueHighway
20:44:03: Info: Freetype returned null for character 140 in font BlueHighway
20:44:03: Info: Freetype returned null for character 141 in font BlueHighway
20:44:03: Info: Freetype returned null for character 142 in font BlueHighway
20:44:03: Info: Freetype returned null for character 143 in font BlueHighway
20:44:03: Info: Freetype returned null for character 144 in font BlueHighway
20:44:03: Info: Freetype returned null for character 145 in font BlueHighway
20:44:03: Info: Freetype returned null for character 146 in font BlueHighway
20:44:03: Info: Freetype returned null for character 147 in font BlueHighway
20:44:03: Info: Freetype returned null for character 148 in font BlueHighway
20:44:03: Info: Freetype returned null for character 149 in font BlueHighway
20:44:03: Info: Freetype returned null for character 150 in font BlueHighway
20:44:03: Info: Freetype returned null for character 151 in font BlueHighway
20:44:03: Info: Freetype returned null for character 152 in font BlueHighway
20:44:03: Info: Freetype returned null for character 153 in font BlueHighway
20:44:03: Info: Freetype returned null for character 154 in font BlueHighway
20:44:03: Info: Freetype returned null for character 155 in font BlueHighway
20:44:03: Info: Freetype returned null for character 156 in font BlueHighway
20:44:03: Info: Freetype returned null for character 157 in font BlueHighway
20:44:03: Info: Freetype returned null for character 158 in font BlueHighway
20:44:03: Info: Freetype returned null for character 159 in font BlueHighway
20:44:03: Info: Freetype returned null for character 160 in font BlueHighway
20:44:03: Texture: BlueHighwayTexture: Loading 1 faces(PF_BYTE_LA,512x512x1) with 0 generated mipmaps from Image. Internal format is PF_BYTE_LA,512x512x1.
20:44:03: Texture: ogretext.png: Loading 1 faces(PF_A8R8G8B8,256x128x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
20:44:03: Parsing script OgreLoadingPanel.overlay
20:44:03: Finished parsing scripts for resource group Bootstrap
20:44:03: Parsing scripts for resource group GUI
20:44:03: Parsing script Example.material
20:44:03: Parsing script Gui.material
20:44:03: Parsing script test.material
20:44:03: Parsing script qgui.skinTypes
20:44:03: Parsing script dalek.fontdef
20:44:03: Parsing script micross.fontdef
20:44:03: Parsing script Ogre.fontdef
20:44:03: Parsing script sample.fontdef
20:44:03: Parsing script trebuchet_bold.fontdef
20:44:03: Finished parsing scripts for resource group GUI
20:44:03: Parsing scripts for resource group General
20:44:03: Parsing script Examples.program
20:44:03: Parsing script StdQuad_vp.program
20:44:03: Parsing script deferred.glsl.program
20:44:03: Parsing script deferred.hlsl.program
20:44:03: Parsing script deferred.program
20:44:03: Parsing script deferred_post_ambient.program
20:44:03: Parsing script deferred_post_debug.glsl.program
20:44:03: Parsing script deferred_post_debug.hlsl.program
20:44:03: Parsing script deferred_post_debug.program
20:44:03: Parsing script deferred_post_minilight.glsl.program
20:44:03: Parsing script deferred_post_minilight.hlsl.program
20:44:03: OGRE EXCEPTION(2:InvalidParametersException): Parameter called lightFalloff does not exist. in GpuProgramParameters::_findNamedConstantDefinition at f:\codingextra\ogre\shoggoth_vc9\ogre\ogremain\src\ogregpuprogram.cpp (line 1097)
20:44:03: Compiler error: invalid parameters in deferred_post_minilight.hlsl.program(27): setting of constant failed
20:44:03: Parsing script deferred_post_minilight.program
20:44:03: Parsing script deferred_post_multipass.glsl.program
20:44:03: Parsing script deferred_post_multipass.hlsl.program
20:44:03: Parsing script deferred_post_onepass.glsl.program
20:44:03: Parsing script deferred_post_onepass.hlsl.program
20:44:03: Parsing script deferred_post_vs.program
20:44:03: Parsing script ASCII.material
20:44:03: Parsing script ASMSwizzle.material
20:44:03: Compiler error: object unsupported by render system in ASMSwizzle.material(1)
20:44:03: Parsing script BlackAndWhite.material
20:44:03: Parsing script Bloom.material
20:44:03: Parsing script Bloom2.material
20:44:03: Parsing script CGSwizzle.material
20:44:03: Parsing script DepthShadowmap.material
20:44:03: Parsing script Dither.material
20:44:03: Parsing script DOF.material
20:44:03: Parsing script Embossed.material
20:44:03: Parsing script Example-DynTex.material
20:44:03: Parsing script Example-Water.material
20:44:03: Parsing script Example.material
20:44:04: OGRE EXCEPTION(2:InvalidParametersException): Parameter called camObjPos does not exist. in GpuProgramParameters::_findNamedConstantDefinition at f:\codingextra\ogre\shoggoth_vc9\ogre\ogremain\src\ogregpuprogram.cpp (line 1097)
20:44:04: Compiler error: invalid parameters in Example.material(762): setting of constant failed
20:44:04: Parsing script Examples-Advanced.material
20:44:04: Parsing script facial.material
20:44:04: Parsing script Glass.material
20:44:04: Parsing script GLSLSwizzle.material
20:44:04: Parsing script Halftone.material
20:44:04: Parsing script hdr.material
20:44:04: Parsing script HeatVision.material
20:44:04: Parsing script Hurt.material
20:44:04: Parsing script instancing.material
20:44:04: Parsing script Invert.material
20:44:04: Parsing script IsoSurf.material
20:44:04: Parsing script Laplace.material
20:44:04: Parsing script MotionBlur.material
20:44:04: Parsing script MRTtest.material
20:44:04: Parsing script NightVision.material
20:44:04: Parsing script Ocean.material
20:44:04: Parsing script OffsetMapping.material
20:44:04: Parsing script Ogre.material
20:44:04: Parsing script OldMovie.material
20:44:04: Parsing script OldTV.material
20:44:04: Parsing script ParticleGS.material
20:44:04: OGRE EXCEPTION(7:InternalErrorException): Unable to compile Cg program Ogre/ParticleGS/GenerateVS: CG ERROR : The compile returned an error.
(0) : error C6015: Output 'POSITION' not completely written
in CgProgram::loadFromSource at f:\codingextra\ogre\shoggoth_vc9\ogre\plugins\cgprogrammanager\src\ogrecgprogrammanagerdll.cpp (line 66)
20:44:04: High-level program Ogre/ParticleGS/GenerateVS encountered an error during loading and is thus not supported.
OGRE EXCEPTION(7:InternalErrorException): Unable to compile Cg program Ogre/ParticleGS/GenerateVS: CG ERROR : The compile returned an error.
(0) : error C6015: Output 'POSITION' not completely written
in CgProgram::loadFromSource at f:\codingextra\ogre\shoggoth_vc9\ogre\plugins\cgprogrammanager\src\ogrecgprogrammanagerdll.cpp (line 66)
20:44:04: OGRE EXCEPTION(7:InternalErrorException): Unable to compile Cg program Ogre/ParticleGS/DisplayVS: CG ERROR : The compile returned an error.
(249) : warning C7050: "output.color" might be used before being initialized
(0) : error C6015: Output 'POSITION' not completely written
in CgProgram::loadFromSource at f:\codingextra\ogre\shoggoth_vc9\ogre\plugins\cgprogrammanager\src\ogrecgprogrammanagerdll.cpp (line 66)
20:44:04: High-level program Ogre/ParticleGS/DisplayVS encountered an error during loading and is thus not supported.
OGRE EXCEPTION(7:InternalErrorException): Unable to compile Cg program Ogre/ParticleGS/DisplayVS: CG ERROR : The compile returned an error.
(249) : warning C7050: "output.color" might be used before being initialized
(0) : error C6015: Output 'POSITION' not completely written
in CgProgram::loadFromSource at f:\codingextra\ogre\shoggoth_vc9\ogre\plugins\cgprogrammanager\src\ogrecgprogrammanagerdll.cpp (line 66)
20:44:04: OGRE EXCEPTION(7:InternalErrorException): Unable to compile Cg program Ogre/ParticleGS/DisplayPS: CG ERROR : The compile returned an error.
(323) : fatal error C9999: unexpected cast operation
in CgProgram::loadFromSource at f:\codingextra\ogre\shoggoth_vc9\ogre\plugins\cgprogrammanager\src\ogrecgprogrammanagerdll.cpp (line 66)
20:44:04: High-level program Ogre/ParticleGS/DisplayPS encountered an error during loading and is thus not supported.
OGRE EXCEPTION(7:InternalErrorException): Unable to compile Cg program Ogre/ParticleGS/DisplayPS: CG ERROR : The compile returned an error.
(323) : fatal error C9999: unexpected cast operation
in CgProgram::loadFromSource at f:\codingextra\ogre\shoggoth_vc9\ogre\plugins\cgprogrammanager\src\ogrecgprogrammanagerdll.cpp (line 66)
20:44:04: Parsing script Posterize.material
20:44:04: Parsing script pssm.material
20:44:04: Parsing script RadialBlur.material
20:44:04: Parsing script RZR-002.material
20:44:04: Parsing script SharpenEdges.material
20:44:04: Parsing script smoke.material
20:44:04: Parsing script Tiling.material
20:44:04: Parsing script VarianceShadowmap.material
20:44:04: Parsing script deferred.material
20:44:04: Parsing script deferreddemo.material
20:44:05: Parsing script deferred_post_ambient.material
20:44:05: Parsing script deferred_post_debug.material
20:44:05: Parsing script deferred_post_minilight.material
20:44:05: Parsing script deferred_post_multipass.material
20:44:05: Parsing script deferred_post_onepass.material
20:44:05: Parsing script ROOM.material
20:44:05: Parsing script RomanBath.material
20:44:05: Parsing script emitted_emitter.particle
20:44:05: Parsing script Example-Water.particle
20:44:05: Parsing script Example.particle
20:44:05: Parsing script smoke.particle
20:44:05: Parsing script Examples.compositor
20:44:05: Parsing script deferred.compositor
20:44:05: Parsing script sample.fontdef
20:44:05: Parsing script Compositor.overlay
20:44:05: Parsing script DP3.overlay
20:44:05: Parsing script Example-CubeMapping.overlay
20:44:05: Parsing script Example-DynTex.overlay
20:44:05: Parsing script Example-Water.overlay
20:44:05: Parsing script Shadows.overlay
20:44:05: Finished parsing scripts for resource group General
20:44:05: Parsing scripts for resource group Images
20:44:05: Finished parsing scripts for resource group Images
20:44:05: Parsing scripts for resource group Internal
20:44:05: Finished parsing scripts for resource group Internal
20:44:05: Parsing scripts for resource group Models
20:44:05: Finished parsing scripts for resource group Models
20:44:05: Parsing scripts for resource group Music
20:44:05: Finished parsing scripts for resource group Music
20:44:05: Parsing scripts for resource group Sounds
20:44:05: Finished parsing scripts for resource group Sounds
20:44:05: Parsing scripts for resource group Terrain
20:44:05: Finished parsing scripts for resource group Terrain
20:44:05: [QGUI] Loading SkinClass and SkinType definitions...
20:44:08: PCZone Factory Type 'ZoneType_Octree' unregistered
20:44:08: PCZone Factory Type 'ZoneType_Terrain' unregistered
20:44:08: Unregistering ResourceManager for type BspLevel
20:44:08: *-*-* OGRE Shutdown
20:44:08: Unregistering ResourceManager for type Compositor
20:44:08: Unregistering ResourceManager for type Font
20:44:08: Unregistering ResourceManager for type Skeleton
20:44:08: Unregistering ResourceManager for type Mesh
20:44:08: Unregistering ResourceManager for type HighLevelGpuProgram
20:44:08: Uninstalling plugin: Octree & Terrain Scene Manager
20:44:08: Plugin successfully uninstalled
20:44:08: Unloading library .\Plugin_OctreeSceneManager_d
20:44:08: Uninstalling plugin: Octree Zone Factory
20:44:08: Plugin successfully uninstalled
20:44:08: Unloading library .\Plugin_OctreeZone_d.dll
20:44:08: Uninstalling plugin: Portal Connected Zone Scene Manager
20:44:08: Plugin successfully uninstalled
20:44:08: Unloading library .\Plugin_PCZSceneManager_d.dll
20:44:08: Uninstalling plugin: Cg Program Manager
20:44:08: Plugin successfully uninstalled
20:44:08: Unloading library .\Plugin_CgProgramManager_d
20:44:08: Uninstalling plugin: BSP Scene Manager
20:44:08: Plugin successfully uninstalled
20:44:08: Unloading library .\Plugin_BSPSceneManager_d
20:44:08: Uninstalling plugin: ParticleFX
20:44:08: Plugin successfully uninstalled
20:44:08: Unloading library .\Plugin_ParticleFX_d
20:44:08: Uninstalling plugin: GL RenderSystem
20:44:08: *** Stopping Win32GL Subsystem ***
20:44:08: Plugin successfully uninstalled
20:44:08: Unloading library .\RenderSystem_GL_d
20:44:08: Uninstalling plugin: D3D9 RenderSystem
20:44:08: D3D9 : Shutting down cleanly.
20:44:08: Unregistering ResourceManager for type Texture
20:44:08: Unregistering ResourceManager for type GpuProgram
20:44:08: D3D9 : Direct3D9 Rendering Subsystem destroyed.
20:44:08: Plugin successfully uninstalled
20:44:08: Unloading library .\RenderSystem_Direct3D9_d
20:44:08: Unregistering ResourceManager for type Material

This project is still VERY FRESH.
All I have done is add QuickGUI to the bare-bone GameManager framework.
Those errors with the particle system were already there, if I remember correctly.

kungfoomasta

19-06-2009 22:25:40

I compared your log to the one for the Editor, this is the difference I see:


14:27:48: Parsing scripts for resource group General
14:27:48: Parsing script Example.material
14:27:49: Parsing script Gui.material
14:27:49: Parsing script test.material
14:27:49: Parsing script qgui.skinTypes
14:27:49: Parsing script micross.fontdef
14:27:49: Finished parsing scripts for resource group General
14:27:49: Parsing scripts for resource group Internal
14:27:49: Finished parsing scripts for resource group Internal
14:27:49: [QGUI] Loading SkinClass and SkinType definitions...
14:27:49: [QGUI] Skin definition for class "Button" with ID "default" found.
14:27:49: [QGUI] Skin definition for class "Button" with ID "default.close" found.


Particularly the "[QGUI] Loading SkinClass and SkinType definitions..." line is never posted in your log.

I noticed in your app you haven't initialized your RenderSystem, I wonder if this is part of the cause. I would structure your code something like this:

1. Create Ogre Root
2. Create/setup RenderSystem
3. Register QuickGUI ScriptReader
4. Setup/Define Ogre resource locations, be sure to include location with QuickGUI resources
5. Initialize Ogre Root (initializes resources as well. ScriptReader should parse .skinTypes files)
6. Create QuickGUI Root
7. Call loadSkins API. Check log to verify that Skin definitions are found and loaded.

Calder

29-07-2009 15:58:47

EDIT: The solution to this problem was to update the qgui.skintypes script. The format has changed recently. The original post is attached to help anyone else in identifying their problem.



I'm getting the following odd error, which I can only interpret as QuickGUI reading one level to far out...

Added resource location './Data/judgmentday' of type 'FileSystem' to resource group 'judgmentday'
Added resource location './Data/judgmentday/gui' of type 'FileSystem' to resource group 'judgmentday'
Added resource location './Data/judgmentday/gui/qgui' of type 'FileSystem' to resource group 'judgmentday'
Added resource location './Data/judgmentday/materials' of type 'FileSystem' to resource group 'judgmentday'
Added resource location './Data/judgmentday/models' of type 'FileSystem' to resource group 'judgmentday'
Added resource location './Data/judgmentday/terrain' of type 'FileSystem' to resource group 'judgmentday'
Added resource location './Data/judgmentday/textures' of type 'FileSystem' to resource group 'judgmentday'
Parsing script Gui.material
Parsing script qgui.skinTypes
Parsing script micross.fontdef
[QGUI] Loading SkinClass and SkinType definitions...
[QGUI] Skin definition for class "SkinClass" with ID "Button" found.
No definitions for type "SkinReference" found!
No definitions for type "SkinElement" found!
Exception: A SkinClass definition for class "SkinClass" does not exist. It must be added before any SkinTypes can be added! (SkinTypeManager::addSkinType)
An exception has occurred: OGRE EXCEPTION(22:): A SkinClass definition for class "SkinClass" does not exist. It must be added before any SkinTypes can be added! in SkinTypeManager::addSkinType

This is only the relevant parts, if you need more I'd be glad to post it.

There're a couple odd things going on here. First, I haven't touched the GUI code of my program for nearly a month. I'm using the current SVN trunk, so I assumed some change had broken compatibility, but when I tried it with 4 QuickGUI releases over the past month, I was puzzled.

kungfoomasta

29-07-2009 18:40:46

I've been trying to make less and less breaking changes, but the previous implementation of Skin definitions was too limiting, they had to be grouped together by type, in the same file. I've since updated the definition such that you can put definitions in any file you want, and they don't have to be grouped by class.

Here is an example of a Button definition, called "default":

Button default
{
SkinElement default
{
Border_Bottom 2
Border_Left 2
Border_Right 2
Border_Top 2
Texture qgui.button.png
TileBackground false
TileBorders true
}

SkinElement down
{
Border_Bottom 2
Border_Left 2
Border_Right 2
Border_Top 2
Texture qgui.button.down.png
TileBackground false
TileBorders true
}

SkinElement over
{
Border_Bottom 2
Border_Left 2
Border_Right 2
Border_Top 2
Texture qgui.button.over.png
TileBackground false
TileBorders true
}
}


In another file I could have a definition for a different Button, etc.

From your log, it does seem like the script is being read incorrectly. In particular there is no "SkinClass" keyword anymore. I think the problem is that you need to update your skin definitions, whether custom or default provided ones. Sorry for the inconvenience here.

I've also made it easier to use the default provided resources. All QuickGUI media is inside qgui.core.zip. This includes a default font, the default skin definitions, and the actual images used by the skin definitions.