LONG POST: TNT2 initialisation problem (technical specs posted)

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.

Here’s the spec for a machine that fails: http://www.medwaypvb.pwp.blueyonder.co.uk/downloads/cpu_info.txt http://www.medwaypvb.pwp.blueyonder.co.uk/downloads/agp_bus_info.txt

Pay particular attention to the CPU and OS here, and Nvidia BIOS.

Has anybody got a workaround or hint about this problem?

We’re in a desperate hurry and we’d be eternally grateful for your help.

Cas

Originally posted by cix>foo:
We’re using an 800x600x16 screen mode, with no depth , no alpha, and no stencil, and 16bpp colour for GL.

what, really NO DEPTH?? or is your game 2D?

[This message has been edited by matt_weird (edited 06-01-2003).]

'srite, no depth. Don’t need it.
…but I wonder if the TNT2 barfs because of this? Hm.

Cas

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).]

Hi,

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!

-Ilkka

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.

ARse.

Cas

Dumb question, how are you clearing your buffer? glClear(COLOR) or are you using the backdrop/skybox?

Originally posted by matt_weird:
so finally someone(guess davepermen ) suggested to install win2k, so the problem “disappeared”.

hm… me? hm… i hardly remember… but it could’ve been me. i suggested here to move to win2k several times, yes…

hm…

Sadly a proper OS is usually the last thing on the casual gamer’s mind :stuck_out_tongue:

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.

Cas

Sadly a proper OS is usually the last thing on the casual gamer’s mind :stuck_out_tongue:

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…?

Cas

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.

I’m going to try using wglSwapBuffers and a cached HDC instead. More news if it works…

Cas