Page 1 of 1

Direct3D 9 Renderer error.

Posted: Fri Jun 10, 2005 07:27
by Derek
10/06/2005 07:12:17 (Error) Exception: Font::defineFontGlyphs_impl - operation requires a texture larger than the supported maximum.
10/06/2005 07:12:17 (Error) XercesParser::parseXMLFile - An unexpected error occurred while parsing XML file 'datafiles/fonts/Tahoma-8.font'.
10/06/2005 07:12:17 (Error) Font::load - loading of Font from file 'datafiles/fonts/Tahoma-8.font' failed.


Anyone know how to fix this? I'm using a directx9 renderer with this code:

Code: Select all

   // create our font
   Font *font = FontManager::getSingleton().createFont("datafiles/fonts/Tahoma-8.font");
   font->defineFontGlyphs( (utf8*)" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" );
   System::getSingleton().setDefaultFont(font);


Thanks,

-Derek

Re: Direct3D 9 Renderer error.

Posted: Fri Jun 10, 2005 11:43
by CrazyEddie
Hi,

What card is this on, what resolution are you running at, and do you have auto-scaling enabled or disabled for the font?

Having asked that, the glyph selection does not seem so large as to cause issues with texture sizes on reasonably modern cards. What's getting returned from the renderer getMaxTextureSize method?

Re: Direct3D 9 Renderer error.

Posted: Sat Jun 11, 2005 15:48
by Derek
Auto scaling is at its default state. It's running at 800x600 on a Geforce 440 Go (laptop).

I don't know what is coming out of the getmaxtexturesize method. But it has to be sufficiently large...


My friend ran it on his pc with 128mb video ram as well. Gave the same error.


Thanks for your help eddie!

-Derek

Re: Direct3D 9 Renderer error.

Posted: Sat Jun 11, 2005 16:18
by lindquist
You should really check the output of getMaxTextureSize.
The amount of videoram is not an indicator for how large a texture can be. This is limited in the hardware. I guess for optimization purposes.

Usual values are 2048x2048 or 4096x4096.

Re: Direct3D 9 Renderer error.

Posted: Sat Jun 11, 2005 17:38
by Derek
Heh, i feel kinda dumb for this.

I was mixing DLLS compiled in MSVC++ 6 with MSVC++ 7. Therefore, there was most likely a CRT compatability issue which caused the problem.

Working fine now. Thanks guys :P

:pint:

-Derek