These past few months I have been working with the C language. Before that, I was writing console applications with C++. I eventually got to the point where I couldn't seem to do anything more with C++, so I decided to use C as I know it is better for what I wish to do.
I've been wanting to to experiment with graphics -- specifically three-dimensional graphics. Using the Turbo C compiler, I've gotten as far as creating the illusion of a 3D room in which you can move around in. Unfortunately, this was only wireframe, and you could not rotate the camera to look behind or on the sides of the screen.
Now, after looking at some 3D engines' source and reading various tutorials, I'm left with some basic questions.
First, I know that C is capable of doing just what I want to do: create a 3D engine with basic texture mapping, lighting, and transparencies. These are all three things that I do not yet understand how to do. But, before I can do any of these features, I must first know how to solve yet another problem: how do you go about rendering graphics off-screen? What I mean, is how can you render graphics that you won't see until the camera moves towards or rotates towards that direction?
Also, is Turbo C the correct free compiler for me to use to experiment with graphics? It does have a graphics library afterall. But then, I believe I could use the VGA modes directly, without using the graphics library. I've found some tutorials on this, but apparently I need to be running DOS in order to compile and view these VGA graphics applications properly.
So, here are my top questions:
- Should I use Turbo C for my graphics experiments or should I access the VGA video mode directly?
- How do you render graphics off-screen and paint them when the camera looks towards that part of the screen?
Additionally, if I can get these questions answered, I would like to understand how to do stuff like texture mapping onto a polygon and whatnot.
Jordan C. McGee