Dynamic display mode switching

What it says on the tin: a place to discuss proposed new features.
Post Reply
User avatar
lf3thn4d
Orc
Posts: 478
Joined: Mon Apr 10, 2006 9:12 pm
x 12

Dynamic display mode switching

Post by lf3thn4d »

I have recently been looking into dynamic display mode switching. I did manage to get it to work by reinitialising the render system. However, after seeing the new setFullscreen() code in cvs build, i figured (i might be wrong) that it is actually possible to change colour depth, vsync and antialiasing features without shutting down the render system? However the current design doesn't allow it.

Aside from this, I was rather baffled when trying to apply display config to an externally created render window. I had to write a ConfigOption parser to generate the parameter list which ends up rather hardcoded in that I need special checks for different render system. Would have originally thought that it should have an abstraction of sort.

Why is colourDepth placed together with Video Mode in D3D9 yet OpenGL have it as a separate property? I belive simmilar options should use the same name and setting convention. Either follow the GL render system way (which I prefer), or the D3D9 way (which is messy to parse).

Also, why is it that D3D9's render system is not providing a list of refresh rates options in the config option? Seems to be hardcoded to pick the highest refresh rate possible there.

Ok. I'm done rambling. Back to building the work around which is already some what working. :-P
User avatar
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 19269
Joined: Sun Oct 06, 2002 11:19 pm
Location: Guernsey, Channel Islands
x 67
Contact:

Post by sinbad »

Yes, it's still not perfect. Right now you can just switch resolutions & full screen mode, everything else needs a recreation of the window.
User avatar
lf3thn4d
Orc
Posts: 478
Joined: Mon Apr 10, 2006 9:12 pm
x 12

Post by lf3thn4d »

Yeah, I'm fine with it now. Still, I think some stuffs should have been automatic like using external window handle while using the ogre config options (vsync, antialiasing). But I can see that it's rather difficult to define it that way.

Anyways, I did found some quirks when destroying the render window and recreating it under D3D9. There was a leak and a crash bug. I submitted a patch few days back. But looks like nobody have taken a look at it yet. Not sure if it's the right way to fix it.

So here it is (to catch some attention :P):
http://sourceforge.net/tracker/index.ph ... tid=302997
Quall
Greenskin
Posts: 146
Joined: Wed Apr 06, 2005 11:55 pm

Post by Quall »

hmm, you know, I think that patch will help stop my screensaver from crashing when killing ogre.
Post Reply