First, the most important question:
I’m trying to make a title screen for my very first game, with a nice picture and logo. What I do now is I switch to ortho mode, draw a quad all over the screen, and texture it with the logo. Here, at work behind my pentium2 266, I get about half a FPS when drawing this single quad. This is not acceptable.
Are there any techniques to solve this problem? I would still like to be able to draw with OGL to the screen, dispite any new techniques.
Secondly, not as important, I got a linker warning yesterday when I linked a jpeg library with my project:
LINK : warning LNK4098: defaultlib “LIBC” conflicts with use of other libs; use /NODEFAULTLIB:library
Where does this warning come from? And how can I get rid of it? I linked the lib in-code in one single header file.
I have found the solution to the linker problem. I have to exclude the libc.lib in my VC++ project.
To change the question a tad: How can I do this in-code? This problem is specific to a single include file, and I don’t want to change all my projects because of this.
Yes, I use a jpeg…
I load the texture from disk only once, at statup, after that I rebind the texture each frame to the quad because I’m using a second texture (for buttons) on that same screen.
For your splash screen or title screen if it does not include any animation (static), just call your function once with a single SwapBuffer call. Then use a timer or check for mouse click to move on to other screen.
There is no need to swap buffer if it is a static image. And if you need to highlight menu items just swap the buffer when the mouse is actually over the item.
As for the linker issue, you can change some setting for specific files within MSVC. When in the Project settings choose a specific file from the list on the left, preferably an implementation file (.c, .cpp) and choose the C/C++ tab on the right and add the /NODEFAULTLIB:library line to the preprocessor definitions. This should work, though I have nothing to test it with.
Hope this helps and that I understood the problems correctly.