Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 2 of 2

Thread: Lost Hello Triangle Going from XP 32 bit to Win7 64 bit

  1. #1
    Junior Member Newbie
    Join Date
    Aug 2013
    Posts
    19

    Lost Hello Triangle Going from XP 32 bit to Win7 64 bit

    Thanks for reading. I was running opengl.org basic tutorials successfully on Windows XP 32 bits, when the company moved me to Win7 64 bits. Now everything in "helloTriangle" seems to work except glDrawArrays(GL_TRIANGLES, 0, 3): I see the clear color, but no triangle. Wondering if this rings a bell for anyone.

    Program details:
    Borland 5.5 compiler, 32 bits (say it if you must). Freeglut.dll is in the SysWOW64 folder. GL3W function finder. OpenGL and GLSL are both 4.3 on Win7 machine, and were 3.3 on the XP. Graphics drivers are updated to latest from the laptop MFG. I rebuilt GL3W files and Borland .lib interface to freeglut.dll (binaries identical to XP32).

    Symptoms:
    FreeGlut opens the context, GL3W finds the versions, and addresses for the functions I use. Vertex and fragment shaders compile, link, and load without error. (I get deprecation warnings if I declare anything "varying" in the vertex shader just to see if the GPU is there.) glutSwapBuffers() works, as I alternate the glClearColor() each time I render. glGetError() returns zero after a successful swapBuffers(). I just don't get anything when I call glDrawArrays(GL_TRIANGLES, 0, 3).

    Any idea what could cause this? I can list any code you want to see. Here are the v & f shaders, since they're small.

    Code :
    #version 430 core
     
    // Input vertex data, different for all executions of this shader.
    layout(location = 0) in vec3 vertexPosition_modelspace;
     
    void main(){
     
        gl_Position.xyz = vertexPosition_modelspace;
        gl_Position.w = 1.0;
     
    }
     
    #version 430 core
     
    // Ouput data
    out vec3 color;
     
    void main()
    {
     
    	// Output color = red 
    	color = vec3(1,0,0);
     
    }

  2. #2
    Junior Member Newbie
    Join Date
    Aug 2013
    Posts
    19
    I found it. I had left some code in from an earlier unsuccessful tutorial (that needed GLEW, which I couldn't get to work).
    glEnable(GL_DEPTH_TEST);
    glDepthFunc(GL_LEQUAL);
    Removed the depth test, and it works! Not sure why it worked on WinXP 32 with it in. I'm so relieved, I'm almost not embarrassed. Thanks for reading.

Posting Permissions

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