As a newbie to the OpenGL implementation on Win32 platform, I’d just like to know a few things that have been mulling on my mind. I’ve read upto chapter 20 of the NeHe tuts, and upto page 150 of the Red Book, damn it’s a long book! Anyway, I’m a good C and assembler programmer (not too crazy about OOP! I’m old school!), but damn new to CG. Topics like Matrices, Vectors, verteces etc still stir fear in me (long time since I did Algebra!). Anyway, to my ‘dumb ass noob’ questions.
1: OpenGL is implemented as version 1.1 on Windows right? But an updated set of my nVidia FX card’s drivers implement ‘hardware’ acceleration on this version of the API? But? The OpenGL32.dll file remains the same? So what do the drivers do exactly? The OpenGL version remains 1.1?
2: Related to the above questions, how do I implement support for OpenGL version 1.5 in Windows?
3: There seem to be some surprising ‘limitations’ to OpenGL! For example, there can be only 8 lights. I checked my XP OpenGL with the latest nVidia drivers (56.72) with glGet(GL_MAX_LIGHTS) and it returned 8. How is it possible to have more than 8 lights? Surely a good game for example may need more! Does OpenGL 1.5 support more than 8 lights?
4: What are some of the pros and cons of OpenGL vs DirectX. Surely, by this time, DirectX will have matured beyond the limited support for OpenGL on Win32 platform? Taking into consideration I’m PRO OpenGL since it’s portable etc. However, I can’t shake the feeling that DirectX might be faster? Note: I’m not in the graphics industry, I’m merely studying Graphics now as a hobby, I’m a database applications developer!
5: Since I’m a high performance application develper, implementing much of the functionality in optimized assembler (when C/C++ stops delivering), it surprises me that my simple OpenGL scene, 7 lights (probably why), 6 small spheres (using display lists, 128 slices) and 1 central big sphere (also a display list, 256 slices) starts running slowly. By slowly I mean, about 36 FPS. To clarify. I know I can’t expect miracles! And I know there are many considerations! BUT, I have a game at home where they modeled a car in 45000 polygons. Surely my small rotating sphere scene uses less than that? What I’m getting at is, I have a fairly high spec machine, P4 2.8 HT, 512MB with a GForce FX 128MB. I develop high performance code, so when I take my code to a PII, it runs well! Surely my scene isn’t pushing the boundaries of performance on my machine? Is there some higher formance OpenGL implementation I can help with? I installed Mesa for Win32, performance droped to about 2 FPS! Can I help? Would implementing my own sphere drawing algo’s make a difference or is it too complcated? Too time consuming? Or are there more interrelations that I’m not aware of?
Anyway, thanks in advance for reading my gripes!
That’s all for now!