Irrlicht software renderers don't render CEGUI

For help with general CEGUI usage:
- Questions about the usage of CEGUI and its features, if not explained in the documentation.
- Problems with the CMAKE configuration or problems occuring during the build process/compilation.
- Errors or unexpected behaviour.

Moderators: CEGUI MVP, CEGUI Team

kbluck
Just popping in
Just popping in
Posts: 3
Joined: Thu Feb 01, 2007 16:23

Irrlicht software renderers don't render CEGUI

Postby kbluck » Thu Feb 01, 2007 22:34

I've noticed that the Irrlicht software renderers EDT_SOFTWARE and EDT_SOFTWARE2 don't render CEGUI. EDT_DIRECT3D8, EDT_DIRECT3D9, and EDT_OPENGL all render as expected.

Presently, I'm trying to figure out why this is by stepping through a bunch of unfamiliar code. By chance, is there anybody here who already knows the reason?

Thanks,

--- Kevin

User avatar
Das Gurke
Not too shy to talk
Not too shy to talk
Posts: 31
Joined: Sat Sep 02, 2006 15:45

Postby Das Gurke » Mon Feb 05, 2007 10:57

CEGUI is hardware accelareted, thats why it is so fast. So software rendering is imho not supported.

I think what CEGUI does when used in combination with an engine is to grab the 3D Device and uses it.

kbluck
Just popping in
Just popping in
Posts: 3
Joined: Thu Feb 01, 2007 16:23

Postby kbluck » Thu Feb 08, 2007 20:03

I thought about that possibility myself. But I would expect that if CEGUI were attempting to hook a 3d device and it failed to do so due to software rendering, it would throw an exception. But it silently does nothing at all. It runs happily while rendering nothing.

Still looking at it, but failing to find anything obvious (to me).

Thanks,

Kevin

kbluck
Just popping in
Just popping in
Posts: 3
Joined: Thu Feb 01, 2007 16:23

Postby kbluck » Thu Feb 08, 2007 20:21

As far as I can tell, basically all CEGUI does is set up its quads by loading textures:

Code: Select all

IrrlichtTexture* t = new IrrlichtTexture(this, device);
t->loadFromFile(filename, resourceGroup);
...and each frame draws each textured quad:

Code: Select all

driver->draw2DImage(texture,quad.dst,quad.src,0,colors,true);
I can't see any obvious reason this wouldn't work with the software renderers.

Thanks,

Kevin


Return to “Help”

Who is online

Users browsing this forum: No registered users and 23 guests