title: Using OpenGL 3.2 with Derelict3 and GLFW 3 on OSX Lion
body: <p>I'm having trouble getting OpenGL 3.2 to run on Lion (osx 10.7.4) using Derelict3 and GLFW 3.</p>
  
  <p>Here's my test program:</p>
  
  <pre><code>module glfw3Test;
  
  import std.stdio, std.conv;
  import derelict.glfw3.glfw3;
  import derelict.opengl3.gl3;
  
  string programName = "glfw3Test";
  int width = 640;
  int height = 480;
  
  GLFWwindow window;
  
  void main() {
      // load opengl
      DerelictGL3.load();
      // load GLFW
      DerelictGLFW3.load();
  
      if(!glfwInit()) {
          glfwTerminate();
          throw new Exception("Failed to create glcontext");
      }
  
      writefln("GLFW:     %s", to!string(glfwGetVersionString()));
  
      window = glfwOpenWindow(width, height, GLFW_WINDOWED, programName.ptr, null);
      if(!window) {
          glfwTerminate();
          throw new Exception("Failed to create window");
      }
  
      // Request opengl 3.2 context
      // based off the GLFW FAQ: http://www.glfw.org/faq.html#4_2
      glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
      glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 2);
      glfwOpenWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
      glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
  
      DerelictGL3.reload();
  
      // Print OpenGL and GLSL version
      writefln("Vendor:   %s",   to!string(glGetString(GL_VENDOR)));
      writefln("Renderer: %s",   to!string(glGetString(GL_RENDERER)));
      writefln("Version:  %s",   to!string(glGetString(GL_VERSION)));
      writefln("GLSL:     %s\n", to!string(glGetString(GL_SHADING_LANGUAGE_VERSION)));
  }
  </code></pre>
  
  <p>I get this output:</p>
  
  <pre><code>GLFW:     3.0.0 dynamic
  Vendor:   NVIDIA Corporation
  Renderer: NVIDIA GeForce 9400M OpenGL Engine
  Version:  2.1 NVIDIA-7.18.18
  GLSL:     1.20
  </code></pre>
  
  <p>I've checked, and it seems my graphics card should <a href="http://en.wikipedia.org/wiki/GeForce_9_Series#GeForce_9M_Series" rel="nofollow">support up to OpenGL 3.3</a>.</p>