OpenGL implementation?

Started by
8 comments, last by Nathan Baum 18 years, 10 months ago
Hey all, Im a bit confused. Ive been reading the OpenGL 2.0 specs and I found out that OpenGL is a specification for an implementation, meaning there are different implementations of OpenGL. but the part im confused about is when people say "OpenGL vs DirectX", what implementation is being compared? Help would be appreciated
Advertisement
Well the "vs DirectX" implies they are talking about Windows which means Microsoft's implementation. (You can get it from there site). There is also a Windows implementation by SGI but it is not recommended you use it.
Quote:but the part im confused about is when
people say "OpenGL vs DirectX", what implementation is being compared?

Those discussions are usually comparing the interface, not the implementation.
Free Mac Mini (I know, I'm a tool)
Thanks, i get it now.
Just one more thing... if I am to create my own implementation from
the OpenGL or DirectX specs, do i have to get some kind of license? or
am i free to create my own implementation?
When comparing performance, it is customary to compare OpenGL vs. DirectX drivers released by the manufacturer. Just because a piece of hardware, say a GeForce4, has particular performance capabilities, doesn't mean that the drivers are equally effective in giving the application that performance. Certain features may be more difficult to implement efficiently in the DirectX API vs. OpenGL, and vice versa. Other GL implementations, such as Mesa, are usually not very fast so they don't enter into the discussion.
"E-mail is for geeks and pedophiles." -Cruel Intentions
You can for OpenGL (but you will need to buy a license to call it OpenGl) That is because it's an "Open" standard (hence the name).

If you tried to do this for DirectX, you would get sued sooo fast...
thanks for the help. I think ill try and write an OpenGL implementation
for the GBA now [smile].

Quote:
If you tried to do this for DirectX, you would get sued sooo fast...

lol
Quote:Original post by AcePilot
Thanks, i get it now.
Just one more thing... if I am to create my own implementation from
the OpenGL or DirectX specs, do i have to get some kind of license? or
am i free to create my own implementation?
To be called OpenGL, you need a license and you need to pass a compatability test to qualify. Usually, you can get away with copying the OpenGL or DirectX Specs and not calling it "OpenGL" or "DirectX". Just advertise your library as simular to OpenGL or DirectX.

That's the route Mesa3D; and Nintendo took with the Game Cube when they designed their graphic APIs. Both are very close to the OpenGL specs, but neither are "OpenGL".
so my library may be called something like "gfx3d", but have functions
calls like
 void glVertex3f(float x, float y, float z) 

or will I have to take off the "gl" prefix?
You can't copyright interfaces. Anyone can make a library with the same function names as OpenGL or DirectX. Technically, you can even call it OpenGL or DirectX if you don't use the names for commercial purposes.

Although, if you insist on doing that you may find SGI/Microsoft will invite you to prove that their interpretation of trademark law is wrong, in court. [wink]

This topic is closed to new replies.

Advertisement