In the process of trying to learn OpenGL I want to take an existing software based basic 3D Doom Like game and convert the rendering code to OpenGL. The problem is that I don’t know what pieces of the rendering and transformation can be pushed over to OpenGL calls and what stays in the software. Things like Z-buffer, lighting, object culling, the pipeline and order of processing etc. are what I am not sure about.
Basically what areas are candidates for switching over to the OpenGL calls?
For lighting it depends, you can avoid the GL vertex lighting if the software implementation is clever.
Use GL z-buffer by all means. About culling, you can keep some coarse culling on software, precise stuf will be done with the hardware depth test.
Order of processing : you mean drawing order of polygons ? No too important if you use the z-buffer. For performance, you may want to draw front to back, but you may not see any improvement.
What can make a bigger difference is sorting according to GL state, ie. drawing all the poly having the same texture at the same time, to minimize binds.
Use gl transform commands, so that you can take advantage of hardware t&l if applicable.
Well, you need to be more precise if you need more info.