Page 1 of 2 12 LastLast
Results 1 to 10 of 14

Thread: Terms... Terms... Terms... !!!

  1. #1
    Guest

    Terms... Terms... Terms... !!!

    Hi all !!

    I am having a problem in understanding various names (or parts maybe) of this OpenGL family.

    What is the difference between these terms:

    1. OpenGL (as in: "You should download OpenGL 1.2 ...")
    2. OpenGL Specification
    3. OpenGL Implementation
    4. OpenGL Related-Library
    5. OpenGL Utility Library (GLU)
    6. OpenGL Utility Toolkit (GLUT)

    i am really very confused with these terms, i have read many introductions, nehe, redbook .. etc, but i still can't get it!

    let's see if my vision about this thing is right:

    For the first problem:
    When we say "OpenGL" we really mean GLU or GLUT ... right ?

    For the second problem:
    the "OpenGL Specification" is not kind of binary software that you can execute, nor an interactive application development environment, but it is something like a PROTOCOL that everyone have to follow (like the HTTP protocol, all browsers & servers must follow it) ... right ?

    For the third problem:
    (This is based on the previous vision)
    When we say "OpenGL Implementation" we mean an application which follow the OpenGL protocol (like Netscape,IE,Opera for HTTP) ... right ?

    For the fourth problem:
    still nothing in my mind about it

    For the fifth & sixth problem:
    GLU & GLUT are Implementations of openGL .. GLU is simpler and smaller .. and GLUT is bigger and have windowing management included ... right ?

    Sorry for my long message, but these terms are really confusing

    Any help is appreciated so much ..

  2. #2
    Senior Member OpenGL Guru
    Join Date
    Feb 2000
    Location
    Sweden
    Posts
    2,978

    Re: Terms... Terms... Terms... !!!

    You are on the right track.

    1: "OpenGL" as it is is just the name on the graphics API.

    2: OpenGL specification can be seen as a protocol, describing in detail what all functions should, and how they interact with the user. This is just a document, and cen be downloaded freely from the download section on this site.

    3: OpenGL implementation is usually a driver, or some kind of library, that provides a software based on the specification. This implementation is the connection between your application and the window.

    4: Related library, well, some library related to OpenGL

    5: GLU is a helper library ontop of OpenGL. OpenGL provides a low lever interface to graphics hardware, and does not contain higher level stuff. GLU intruduces things like curved surfaces, advanced matrix functions (gluLookAt, gluPickMatrix for example). This library is to move high level stuff from OpenGL, which is low level.

    6: GLUT is library to, in a platfor independent way, handle windows, inputs, and other platform specific stuff. OpenGL does not provide a way to create a window. That is up to the operating system to create an environment for OpenGL. GLUT simplifies this process, which is different on all platforms. GLUT is a third party library, and is not a part of OpenGL, which GLU is.

  3. #3
    Guest

    Re: Terms... Terms... Terms... !!!

    You are on the right track.
    Thanks

    3: OpenGL implementation is usually a driver, or some kind of library, that provides a software based on the specification. This implementation is the connection between your application and the window.
    So, The implementation is the .lib files ? In another way, if i need to program for OpenGL, i have JUST to download an implementation, right ? ... I think i didn't get this one !

    4: Related library, well, some library related to OpenGL
    ... Sure, it is !

    5: GLU is a helper library ontop of OpenGL. OpenGL provides a low level interface to graphics hardware, and does not contain higher level stuff....This library is to move high level stuff from OpenGL, which is low level.
    Let's make this one clear >> GLU makes OpenGL low-level OR GLU makes OpenGL high-level ??? Could GLU be seen (in someway) as a different specification ?? Becaue OpenGL is low, GLU is high (or vice-versa!?) .. right ?

    Conclusion?
    -----------
    If i want to program applications using OpenGL, what does that mean? since OpenGL is just a name? does it mean: I am making a program that uses the files of an implementation library of OpenGL specification ?

    Thanks alot Bob

  4. #4
    Senior Member Regular Contributor
    Join Date
    Feb 2002
    Posts
    374

    Re: Terms... Terms... Terms... !!!

    OpenGL = Open Graphics Library

    As an API OpenGL provides functions to do 2D and 3D graphics. If you code an app using this functions you are coding OpenGL.

    GLU doesn't do anything to OpenGL. It is a library on top of OpenGL, that just offers additional functions (you decide if you want these functions or not) same for GLUT except that if offers functions for a different purpose.
    So you don't need to use GLU or GLUT but they can make your life easier.

    For more in-depth info: http://www.opengl.org/developers/doc...ion/index.html

    hih

  5. #5
    Guest

    Re: Terms... Terms... Terms... !!!

    To make my problem more clear, here is a scenario:

    I am a programmer who wants SIMPLY to make applications that "USES" OpenGL Technology .. ok until here ? the problem is, how to TRANSLATE the word USES into computer steps (i.e. Compile, Include Some Headers, Link some libs ...etc) ?? the word USES is foggy word, it doesn't show how to REALLY use the OpenGL stuff!

    If OpenGL is just a specification (or standard, API, interface .. you name) and is just a NAEM as bob said. And for the GLU & GLUT they are just OPTIONAL libraries. So where is the real stuff ???? where is the product in here ?? where is these open graphics LIBRARIES ??

    GLU It is a library on top of OpenGL....same for GLUT
    you said "on top of OpenGL" >>>> WHERE IS OPENGL !!??? its just a specification (or document as Bob said) !!!

    BTW, i have screwed up almost all pages of opengl.org to find a clue for my problem, but i didn't find an answer the same also for nehe and almost all of the sites provided in the tutorials section of opengl.org

  6. #6
    Senior Member OpenGL Guru
    Join Date
    Feb 2000
    Location
    Sweden
    Posts
    2,978

    Re: Terms... Terms... Terms... !!!

    You take all this with 100% correct terminology too serious. When we say for example "coding with OpenGL", we really mean "coding and linking to an OpenGL implementation". When we say "read about OpenGL works", we mean "read the OpenGL specification".

    "Ontop of OpenGL" means exactly that, ontop of OpenGL. GLU needs a specificaiton, and therefore the GLU specificaion is ontop of the OpenGL specificaion. GLU also needs a physical implementation, and the GLU implementation is therefore ontop of the OpenGL implementation.

    When you code a program using OpenGL, you include a header and link to a library. The header and library is a part of the implementation.

    [This message has been edited by Bob (edited 07-12-2002).]

  7. #7
    Guest

    Re: Terms... Terms... Terms... !!!

    Thanks Bob, that was a real magic

    i am now beginning to understand it 96% ... thanks alot

    And soory for being too strict, i am a heavy programmer, and a programmer uses his logic tooo much , there is no place for fuzzy digits (although, there is fuzzy logic )

    After all this, it means that i will 100% find the header files and the libs in any implementation i download from here: http://www.opengl.org/developers/doc...entations.html .. and the same also for here: http://www.opengl.org/users/apps_har.../devtools.html ???

    What about when two programmers wants to exchange some code, but both uses different implementations, It is possible to have SOME incompatible functions, right? if yes, how to solve that!?

    a Joke for refreshing : if both links are implementations, why the first link (that has less implementations than the other) included in the developer section, and the second link (which has a huge list) is included in the user section !! may be they should fix this; because developers will go to the developers section immediatley when they enter the site, why to make their goal harder ?!

    again, Thanks alot Bob

  8. #8
    Senior Member OpenGL Guru
    Join Date
    Feb 2000
    Location
    Sweden
    Posts
    2,978

    Re: Terms... Terms... Terms... !!!

    The first link you post has a list over operating systems to which an OpenGL implementation exists. Several implementation may exist for an operating system. To find an actual implementation, follow the links and you will be redirected to the place that has one, or information on how to get one.

    The second link is just a bunch of software than uses OpenGL for rendering, and they are not implementations.

    About portability. OpenGL is backward compatible, meaning if you write a program for OpenGL 1.2, it will work on OpenGL 1.1 and earlier. About different implementations, and not only different versions of the same implementation, they are also, more or less, guaranteed to work together. After all, they are all based on the same specification.

    But the portability part is only valid for the OpenGL code. System code, like initialization of rendering environment may be different on all platforms, but that's nothing OpenGL deals with, and is not covered by the portability provided by OpenGL.

    [This message has been edited by Bob (edited 07-13-2002).]

  9. #9
    Senior Member OpenGL Guru Relic's Avatar
    Join Date
    Apr 2000
    Posts
    2,450

    Re: Terms... Terms... Terms... !!!

    >>OpenGL is backward compatible, meaning if you write a program for OpenGL 1.2, it will work on OpenGL 1.1 and earlier<<

    Yeah, and OpenGL programmers invented the time machine.
    It's the other way round. It's forward compatible. You cannot expect functions of a higher version to be existent in the older ones.

  10. #10
    Senior Member OpenGL Guru
    Join Date
    Jun 2000
    Location
    Gastonia, NC, USA
    Posts
    2,068

    Re: Terms... Terms... Terms... !!!

    What is the difference between these terms:

    1. OpenGL (as in: "You should download OpenGL 1.2 ...")

    OpenGL (Open Graphics Library) is in a protocall of sorts, as you have http version 1.0, 1.1, etc, then same holds true with openGL 1.0, 1.1, etc. It is best to used the newest version of openGL to take advantage of the added features.


    2. OpenGL Specification

    Just list of what features are found in the current version of openGL.

    3. OpenGL Implementation

    It is what programming languages and operating systems have support for openGL.

    languages: C/C++, Java, Delphi, etc.
    operating systems: Windows, UNIX, Mac, etc.

    4. OpenGL Related-Library

    GLU and GLUT fall under here, could be any library that extends the function of opengl.
    If you have had any programming experince you should understand the use of library's to let you reuse useful routines in other programs without having to start from scratch.


    5. OpenGL Utility Library (GLU)

    openGL Utility library, adds functions not found in opengl base library. GLU is built from the base opengl library functions.

    6. OpenGL Utility Toolkit (GLUT)

    openGL Utility Toolkit is another library that adds useful functions not found in openGL base. I it good for the first time users of openGL.

    Order of library:

    openGL Base
    GLU middle level functions (base + GLU)
    GLUT higher level functions (base + GLU +GLUT)

    But you do not have to use GLU or GLUT to write an openGL program, just makes it easier then have to write your own versions of there routines.


    Originally posted by NaGl:
    Hi all !!

    I am having a problem in understanding various names (or parts maybe) of this OpenGL family.

    What is the difference between these terms:

    1. OpenGL (as in: "You should download OpenGL 1.2 ...")
    2. OpenGL Specification
    3. OpenGL Implementation
    4. OpenGL Related-Library
    5. OpenGL Utility Library (GLU)
    6. OpenGL Utility Toolkit (GLUT)

    i am really very confused with these terms, i have read many introductions, nehe, redbook .. etc, but i still can't get it!

    let's see if my vision about this thing is right:

    For the first problem:
    When we say "OpenGL" we really mean GLU or GLUT ... right ?

    For the second problem:
    the "OpenGL Specification" is not kind of binary software that you can execute, nor an interactive application development environment, but it is something like a PROTOCOL that everyone have to follow (like the HTTP protocol, all browsers & servers must follow it) ... right ?

    For the third problem:
    (This is based on the previous vision)
    When we say "OpenGL Implementation" we mean an application which follow the OpenGL protocol (like Netscape,IE,Opera for HTTP) ... right ?

    For the fourth problem:
    still nothing in my mind about it

    For the fifth & sixth problem:
    GLU & GLUT are Implementations of openGL .. GLU is simpler and smaller .. and GLUT is bigger and have windowing management included ... right ?

    Sorry for my long message, but these terms are really confusing

    Any help is appreciated so much ..

Page 1 of 2 12 LastLast

Similar Threads

  1. Some simple terms when starting to learn OpenGL
    By Tomyfr in forum OpenGL: Basic Coding
    Replies: 6
    Last Post: 12-25-2017, 12:19 PM
  2. Where is the Scene in terms of the z-coordinate?
    By Salbris in forum OpenGL: Basic Coding
    Replies: 4
    Last Post: 01-24-2010, 05:18 PM
  3. Help Me...In Terms I might understand
    By in forum OpenGL: User Software
    Replies: 3
    Last Post: 08-02-2003, 08:19 PM
  4. Best nVidia drivers in terms of correctness (not speed)?
    By CatAtWork in forum OpenGL: Advanced Coding
    Replies: 1
    Last Post: 06-02-2003, 08:03 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Proudly hosted by Digital Ocean