Hi there, we’re having a major problem getting TNT2 cards to work with our game, and for no explicable reason as nearly all other cards work, and we’ve being using nVidia cards to develop on as well.
The game inits, but shows simply a white screen. It’s apparently rendering away, and plays the sound fine, but all there is on the screen is white. This is particularly odd as there’s absolutely nowhere where we render white, not even in the Windows window default background colour which is black. And of course, it generally works fine on other cards.
We’re using an 800x600x16 screen mode, with no depth, no alpha, and no stencil, and 16bpp colour for GL.
hm, do you use glut to initialize the window, or you do it through PIXELFORMATDESCRIPTOR in Windows? If the last one, do you check the return from ChoosePixelFormat, DescribePixelFormat, SetPixelFormat? If ChoosePixelFormat returns NULL, then no suitable matches were found(the function failed) and you ain’t got your pixel format set. If so consider default pixel index = 1.
TNT2 actually sucks! Last year I was really pissed off with that win9x/ddhelp.exe exception bug. killhelp didn’t work, so finally someone(guess davepermen ) suggested to install win2k, so the problem “disappeared”. i’m glad i got rid of that one nasty hw stuff
[This message has been edited by matt_weird (edited 06-01-2003).]
[This message has been edited by matt_weird (edited 06-01-2003).]
This sounds like the problem I had with my TNT. For some reason the wglSwapBuffers fails sometimes. Usually this doesn’t happen directly after windows has been started, but if some openGL program has been run, changes are that the next program doesn’t work. This happens for almost all programs, not just mine.
I never found a perfect fix for this, but I usually get the opengl window working if I create it later in my initialization chain, preferably after showing some non-gl stuff first… But it’s a really weird problem, thank god it went away with a new card!
If a texture unit/image is somehow not complete or correctly initialized, the output of that texture stage is usually defined to be white.
Sprinkle your code with assert(!glGetError()) (or a wrapper that gives you more info, that you can write yourself) to start looking for where you might get errors back from GL. I suggest adding this call right before you return from each function of yours that calls GL.
Thanks for the help everyone.
We check every return code and throw an exception at the first whiff of trouble. Nothing reports an error. We’re using PIXELFORMATDESCRIPTOR etc and it’s finding a valid mode. We throw out any modes that aren’t supported by hardware. We throw out any modes that don’t meet our minimum requirements (ok, so that’s a bit moot as our requirements are 000 for ADS but there we are ) It just simply doesn’t work Arse, arse, arse, arse, arse.
Sadly a proper OS is usually the last thing on the casual gamer’s mind
So in the meantime - no-one knows what’s causing the white screen to appear? I know it’s not a bug in our code as it works for nearly everything else according to spec. I also understand that it manifests itself in other people’s applications as well, so I assume somebody’s found a workaround by now…?
I once had a similar kind of problem with a GeForce 2 MX. The program came up blank. Then when I minimized and restored the window the program worked fine. Does this work with your program too? This is really just a guess.
Originally posted by davepermen: hm… me? hm… i hardly remember… but it could’ve been me. i suggested here to move to win2k several times, yes…
hm…
well, i was using another username that time. and now i see, that was you, davepermen, definately:
Originally posted by davepermen:
[b]how about stop using win98? get a copy of win2000 and your problems can fly away…
i know this sounds now like a flamewar, but i’ve seen several persons with different problems that simply sounded stupid. told them to move to win2000, they did, now stuff works how they except them to work…[/b]
right, win2k works fine, thank you and just right now i wouldn’t get back to that win9x stuff (well, except maybe for playing games, using FAT32, and run something on a local network with those “sharky” guys, who somehow made their mIRC server traffic 100% blocked by the firewall )
[This message has been edited by matt_weird (edited 06-02-2003).]
Originally posted by cix>foo: So in the meantime - no-one knows what’s causing the white screen to appear? I know it’s not a bug in our code as it works for nearly everything else according to spec.
umm… then what do you use in SwapBuffers for a parameter? Are you sure you’re passing the right HDC to it? Or maybe if you use wglGetCurrentDC it fails to get the right one. But i tried to create a context for a desktop passing NULL eveywhere for HDC, and it had the same white screen you mentioned, so maybe the problem is there.