Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

And how does DX and OpenGL "make 3D exist"? I want to know how I can write a 3-D a library to render a 3-D world witg models. But any help? Thanks. Also, my main question.

share|improve this question

closed as not a real question by Sean Middleditch, Maik Semder, Tetrad Jan 2 '13 at 21:04

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

OpenGL and Direct3D are what you can call low-level graphics libraries. They provide a very thin layer over manually sending data to the GPU, and are the basis of almost all other 3D graphics libraries.

Libraries that make use of OpenGL and Direct3D are more commonly considered to be "rendering engines", as they abstract away much of the code that interfaces with the GPU. Some notable examples of these rendering engines are:

  • Ogre3D - solely a rendering engine out of the box, but provides a framework to easily add in sound, physics, or whatever other features you need
  • Irrlicht - again, this is pretty much just a rendering engine, but it also has collision detection (no physics, though)
  • jMonkeyEngine - Java game engine with a large focus on rendering; provides physics and networking on the side

There are countless others, but these are some of the most widely-used. They are more high-level, and are more suited to faster and simplified development rather than total control and performance. They are good enough for indie games if you don't want to spend a lot of time on writing your own rendering back-end.

If you value being able to do whatever you want with your engine without needing to work around the limitations of high-level frameworks, low-level APIs like OpenGL and Direct3D are for you.

share|improve this answer
I want to more directly interface the graphics pipeline for my code on my terms. – Andy Harglesis Jan 2 '13 at 23:04
DirectX and OpenGL is as direct as you can get without setting registers yourself. Like I said in the other question you deleted, either disassemble NVIDIA or AMD drivers and reverse-engineer it or look at open source OpenGL drivers. No one here is going to help you build up your own API that basically does the same thing as DirectX or OpenGL because it's pointless and it'll take a VERY long time to do. – Robert Rouhani Jan 3 '13 at 1:20
Exactly. Trying to build a new graphics API from scratch is one of the most extreme cases of reinventing the wheel. – jmegaffin Jan 3 '13 at 3:32
No, it's rewarding to make something and call it your own. I don't see it as "difficulty" at all. – Andy Harglesis Jan 5 '13 at 22:47
I want you to look up specifically what OpenGL or DirectX does, and realize that trying to write a similarly low-level API is a waste of time. – jmegaffin Jan 6 '13 at 1:59

Not the answer you're looking for? Browse other questions tagged or ask your own question.