I know - it's more for other people reading this
I always thought openGL did both 2D & 3D acceleration?
Does it not?
Printable View
Nope, OpenGL is an entirely 3D based library. There is a 2DOrtho mode, but everything is still actually rendered and projected in 3D. The only way to do true 2D is to directly manipulate the buffer. They designed it that way so that everything was perfectly uniform, all OpenGL function use the same 4 coordinate system (x, y, z, w) for points and 4x4 matrices for manipulations.
For 2D I'm sure that DirectX can run circles around OpenGL (using built-in primitives of course.) I'm sure with libraries like SDL the buffer manipulation runs as quickly as DirectDraw.
Admittedly I don't have any real in-depth knowledge of CG graphics
but didn't OpenGL originally come from 2D
(CAD, medical imaging, ray tracing)
with the 3D parts coming later (3D modeling, virtual reality & 3D games)
??
*edit*
Lifted straight from the website
Quote:
OpenGL is the premier environment for developing portable, interactive 2D and 3D graphics applications. Since its introduction in 1992, OpenGL has become the industry's most widely used and supported 2D and 3D graphics application programming interface (API), bringing thousands of applications to a wide variety of computer platforms. OpenGL fosters innovation and speeds application development by incorporating a broad set of rendering, texture mapping, special effects, and other powerful visualization functions. Developers can leverage the power of OpenGL across all popular desktop and workstation platforms, ensuring wide application deployment.
It's drawn in 2D. In fact, every single primitive function in the standard pipeline is done in 2D (The projections are the first things that get done.) But everything is still stored in 3D. How it handles them in the pipeline is exactly the same, the only difference is that for the Ortho2D matrix, all of the z values zero out.
The Ortho2D mode probably also skips things in the pipeline that aren't needed in 2D, fog, shading...
I'm assuming that the 2D acceleration that they are talking about is things like antialiasing of lines, Phong interpolation, bit-line filling, and things like that.
And this wiki says that even in 1992, OpenGL was still 3D.
In any case, if you're an absolute beginner, SDL is probably the easiest way to get started. I'm not sure how/whether it handles on Vista, however.
Googled it, looks like there are problems on Vista. :?
If you have a Vista machine then I would recommend dual booting Linux. I think all computer scientists should at least have a little bit of knowledge of Linux. I'm assuming that you are using Eclipse, which is cross platform. SDL seems cross platform as well. This way you can build the project in Linux and send it to your professor.
Your professor will more than likely be running XP or OSX. A good cross platform program will compile and run perfectly on both. I know OpenGL moves seamlessly between platforms. If you build under Linux and your Prof tests it on a Mac then you're golden because it never has to touch DirectX.