Boder's picture

Pseudo Fullscreen (with "popup" style window)

Has there been any talk about supporting this kind of fullscreen?

The way it works is that the window is created without a titlebar/borders/anything (WS_POPUP) on windows I believe. The window (100% client area) is scaled to the current dimensions of the user's desktop. It hides the menu bar.

It has no mode-switching and is easy to switch between windows. It is very much preferable to me and I wish more games used it.

In Pyglet, it is the only option for fullscreen.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
the Fiddler's picture

Pseudo fullscreen is already implemented in SVN (GameWindow.Fullscreen property). I will also add support for "real" fullscreen, but under a different API call.

There reason many games avoid pseudo fullscreen, is that there may be a speed hit associated with this mode (SwapBuffers will copy memory rather than flip the buffers).

I also find it interesting that there is no "real" fullscreen mode on Linux.

Anyway, rest assured that you'll be able to choose between the two modes. :)

Boder's picture

That's great! Sorry there is this thread now taking up space. You even knew more about this mode than I.

Little curious about how the fullscreen mode in Linux is "fake" and what distro you use for development.

I'm going to start working with OpenTK. I'm going to have to learn how to use/compile the svn.

My initial (old) reactions if your curious. OpenTK first reminded me of the free .tk domain name and made me think it was not a very serious project. But then I realized it was and I was still worried about it being new, because you never know what can happen in the future. Microsoft could release XNA for linux (joke .01% chance). But look what happened to Boogame.

But so far it looks like it has the features I want and would have chose to develop if I were behind the engine.

the Fiddler's picture

Little curious about how the fullscreen mode in Linux is "fake" and what distro you use for development.
It's "fake" in the same way that pseudo fullscreen on Windows is "fake": it's just an un-decorated window that takes up the whole screen. On Windows, "real" fullscreen apps seem to enjoy some special treatment by the window manager - as far as I've been able to find, there's no such concept on Linux. In fact, the window manager may not even allow windows to take up the whole screen (unless you jump through some hoops), as this is considered "unkind" to other applications.

My primary OS is Ubuntu 7.10 (x86_64), but I also use several other distros in virtual machines (Ubuntu 7.04/7.10 x86/x86_64, OpenSUSE 10.3, Fedora 8). I also maintain a Windows XP virtual machine (strictly for development purposes), plus an installation of Vista (x64) for testing and gaming.

If there was a legal way to do so, I'd also install OSX for testing, but it looks like Apple doesn't allow this. Ah well, I get to keep a few free GB's at least :)

I'm going to start working with OpenTK. I'm going to have to learn how to use/compile the svn.
Great! :)

If things go well, I plan to release a new version over the weekend. Using the code from svn is easy though: just check it out (instructions), and execute "build vs" from the commandline (there are instructions in the Build/ folder)

OpenTK's still a relatively young project, but it's maturing nicely. There's a lot of work left to do, but it already allows you to do many things, and it's quite flexible (more than most comparable projects).

BlueMonkMN's picture

I haven't been tracking what features are being released when. Has the full screen support been released? My main question, though, is, will the "real full screen" mode in Windows be available to GLControl or only to GameWindow. I really hope it's available to GLControl because GameWindow has too many other limitations so I can't use it; I'm stuck with GLControl.

the Fiddler's picture

Fullscreen support will come with 0.9.1 (not released yet). I've spent the past ten days working on stability, and if everything goes will, this will be ready for release on Saturday/Sunday.

You'll be able to use fullscreen windows with GLControl: just maximize the containing Form and recreate the handle of the GLControl.

Edit: What kind of GameWindow limitations are affecting you?

BlueMonkMN's picture

The main GameWindow limitation is that I can't put my own menus on the window. I have a "Tools" menu with an "Options" command that allows the user to customize the controls by launching another window with controls to allow the user to customize the inputs for the game. I don't want to handle this within the main display for two reasons:
1) The main display is the realm of the user's game and I don't want to interfere with how their menus and graphics appear
2) I don't want to be able to launch the window from full screen mode because I don't think the pop-up form will display very well or at all in full screen mode (at least it didn't with DirectX, I don't think).

I also have a Help menu with an "About..." item in it that displays the game's credits. It uses the forms menus for similar reasons.

The menus are the main limitation that comes to mind that caused me to revert to GLControl -- there may have been other little problems too -- maybe I would miss access to the ability to parent pop-up windows to the main window if I can't access the window handle or something. Edit: I believe I also wanted control over whether the window was resizable, and which window decorations were present, and I don't think I had access to that.