confusing fullscreen mode problem - need help
I have recently been creating a 3D terrain engine, using heightmapping and multitexturing. It was all going fine, I managed to make the map loading and rendering code, and started the basis of a terrain texture generator. But now, when I tried to run the program on fullscreen, it looks as though the hills have been built out of layers -> see the screenshot to understand. It has never happened to me before, and I have made a small 3D engine.
If someone has had this problem before, and fixed it, or knows what is I desperatly need some help.
THe code is at the bottom.
Screenshots:
Windowed mode-
Fullscreen -
Executable + bitmaps (basically the program without code): here
Code + DevCpp project file (but no program): here
Source code files:
camera.cpp - opengl camera
glwindow.cpp - my own oo basecode
hmap_load.cpp - heightmap loading code
main.cpp - main program, contains render code
bitmap.cpp - bitmap loading / saving code
terrain_tex.cpp - half finished terrain texture generator -> currently takes heights and turns them into a color texture.
Anyways, please help me!
PS- by the way, the site i hosted the files on takes a long time download from -> and the bitmaps + program zip is quite large
Here's a completely uninformed guess, not based on looking at your source code or actually running the executable...
Looks like your heightmap values are getting truncated or rounded somewhere in your calculations. If the only difference between windowed and full-screen modes is literally just the window/full-screen switch, I'm guessing that D3D is switching the floating-point hardware to single-precision when going full-screen yet some of your app code (related to generating the heightmaps) is dependent on the extra range in double-precision.
I wouldn't expect those affects to be so specific. I'd also expect the compiler to sort it out for you (with just a performance loss), but that's the only thing I can think of.
Looks like your heightmap values are getting truncated or rounded somewhere in your calculations. If the only difference between windowed and full-screen modes is literally just the window/full-screen switch, I'm guessing that D3D is switching the floating-point hardware to single-precision when going full-screen yet some of your app code (related to generating the heightmaps) is dependent on the extra range in double-precision.
I wouldn't expect those affects to be so specific. I'd also expect the compiler to sort it out for you (with just a performance loss), but that's the only thing I can think of.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement