Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

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

Thread: One Application is showing Version 1.1.0 and other 4.4.0

  1. #1
    Junior Member Newbie
    Join Date
    May 2014
    Posts
    7

    One Application is showing Version 1.1.0 and other 4.4.0

    Hi,

    My PC has following configuration,
    1. windows 7 OS
    2. GTForce 610 Graphic Card

    Now I download one sample application for VBO test purpose.
    In that application My OpenGL version shows as 4.4.0

    Now I already have an application which is already using openGL lib so that I want to upgrade to VBO for rendering.
    but when I update my code same as sample application it shows me a 1.1.0 version. so that I was unable to use VBO.

    Help Me.

  2. #2
    Senior Member OpenGL Pro Ilian Dinev's Avatar
    Join Date
    Jan 2008
    Location
    Watford, UK
    Posts
    1,290
    We need to see the code for context-creation. Somehow you end-up using the Microsoft software renderer.

  3. #3
    Junior Member Newbie
    Join Date
    May 2014
    Posts
    7
    I am using wglCreateContext method in both application.
    4.4.0 using createWindow function for creating dialog by window programming
    1.1.0 using latest MFC code and load openGL in view.

  4. #4
    Senior Member OpenGL Pro Ilian Dinev's Avatar
    Join Date
    Jan 2008
    Location
    Watford, UK
    Posts
    1,290
    Then something's wrong with the MFC code; e.g choosing indexed 8-bit palette drawing and other obsolete things a modern driver/gpu shouldn't care about. I don't have the MFC code nearby anymore, so I can't see what it's doing.

  5. #5
    Junior Member Newbie
    Join Date
    May 2014
    Posts
    7
    I developed application in Visual studio 2008
    and created SDI application now i want to use VBO in View Class.

    Driver is not an issue because in other application it shows 4.4.0 version.

  6. #6
    Senior Member OpenGL Pro Ilian Dinev's Avatar
    Join Date
    Jan 2008
    Location
    Watford, UK
    Posts
    1,290
    That's what I also said. MFC is causing the issue by requesting an incredibly-obsolete PixelFormat configuration, that only the ancient GL1.1 software rasterizer supports. You need to fix MFC's code or something.

  7. #7
    Junior Member Newbie
    Join Date
    May 2014
    Posts
    7
    Is there any extra setup require to use glext.h file?

  8. #8
    Senior Member OpenGL Pro Ilian Dinev's Avatar
    Join Date
    Jan 2008
    Location
    Watford, UK
    Posts
    1,290
    Yes, but before you can use extension-loading etc, you need to fix MFC or whatever you're using to create a context, to stop using the 1.1 context.

  9. #9
    Senior Member OpenGL Pro Aleksandar's Avatar
    Join Date
    Jul 2009
    Posts
    1,145
    Quote Originally Posted by Ilian Dinev View Post
    Yes, but before you can use extension-loading etc, you need to fix MFC or whatever you're using to create a context, to stop using the 1.1 context.
    How come? MFC has nothing with OpenGL.

    Vishalvaza, your problem is quite normal for absolute beginner in OpenGL programming for Windows. Namely, Windows natively supports OpenGL only in version 1.1. If you need higher version you have to grab pointers to the functions directly from the driver. So, before going any further read the section Getting Started from the OpenGL Wiki.

  10. #10
    Senior Member OpenGL Pro
    Join Date
    Jan 2007
    Posts
    1,201
    Quote Originally Posted by Aleksandar View Post
    How come? MFC has nothing with OpenGL.

    Vishalvaza, your problem is quite normal for absolute beginner in OpenGL programming for Windows. Namely, Windows natively supports OpenGL only in version 1.1. If you need higher version you have to grab pointers to the functions directly from the driver. So, before going any further read the section Getting Started from the OpenGL Wiki.
    This is actually probably not what's going on.

    Even if you don't grab the function pointers, glGetString (GL_VERSION) should still give you the highest version supported by your driver after context creation. If your window can support a hardware-accelerated pixel-format, and if your driver supports hardware-accelerated OpenGL, then this will be 3.x or 4.x on all current and reasonable drivers.

    Since the OP has confirmed GL 4.4 support with a different program we're certain that the driver supports GL 4.4 (as it should for a GeForce 610).

    What the OP needs to confirm is if the diagnosis of GL 1.1 only being available is coming from a glGetString (GL_VERSION) or from the function pointers not being available. From the previous posts the former seems most likely, which means that Microsoft's software implementation is probably being used. In that case the cause would be something in the window creation code not allowing a hardware-accelerated pixel format. The challenge is to find out what that "something" is, which is why we then need to see the context creation code.

    Another possibility is that this is a laptop with NVIDIA Optimus and the Intel gfx card has an OEM driver which doesn't have OpenGL support. The test program uses the NVIDIA (because it exports the NvOptimusEnablement global) but the OP's own program is using the Intel (because it's not exporting the global). A glGetString (GL_VENDOR) can be used to check for that, but again we just need more information from the OP before we can start diagnosing possible causes.

    If the OP can post the results of both a glGetString (GL_VERSION) and glGetString (GL_VENDOR) first, we can start making some real recommendations that may actually work. If these indicate GL 4.4 and NVIDIA we will need to see the context creation code. Anything else is just guessing.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •