All Data Structures Files Functions Variables Typedefs Macros Modules Pages
Typedefs | Functions
Context handling

Typedefs

typedef void(* GLFWglproc )(void)
 Client API function pointer type. More...
 

Functions

void glfwMakeContextCurrent (GLFWwindow *window)
 Makes the context of the specified window current for the calling thread. More...
 
GLFWwindowglfwGetCurrentContext (void)
 Returns the window whose context is current on the calling thread. More...
 
void glfwSwapBuffers (GLFWwindow *window)
 Swaps the front and back buffers of the specified window. More...
 
void glfwSwapInterval (int interval)
 Sets the swap interval for the current context. More...
 
int glfwExtensionSupported (const char *extension)
 Returns whether the specified extension is available. More...
 
GLFWglproc glfwGetProcAddress (const char *procname)
 Returns the address of the specified function for the current context. More...
 

Detailed Description

Typedef Documentation

typedef void(* GLFWglproc)(void)

Generic function pointer used for returning client API function pointers without forcing a cast from a regular pointer.

Function Documentation

int glfwExtensionSupported ( const char *  extension)

This function returns whether the specified OpenGL or context creation API extension is supported by the current context. For example, on Windows both the OpenGL and WGL extension strings are checked.

Parameters
[in]extensionThe ASCII encoded name of the extension.
Returns
GL_TRUE if the extension is available, or GL_FALSE otherwise.
Remarks
This function may be called from secondary threads.
Note
As this functions searches one or more extension strings on each call, it is recommended that you cache its results if it's going to be used frequently. The extension strings will not change during the lifetime of a context, so there is no danger in doing this.
GLFWwindow* glfwGetCurrentContext ( void  )

This function returns the window whose context is current on the calling thread.

Returns
The window whose context is current, or NULL if no window's context is current.
Remarks
This function may be called from secondary threads.
See also
glfwMakeContextCurrent
GLFWglproc glfwGetProcAddress ( const char *  procname)

This function returns the address of the specified client API or extension function, if it is supported by the current context.

Parameters
[in]procnameThe ASCII encoded name of the function.
Returns
The address of the function, or NULL if the function is unavailable.
Remarks
This function may be called from secondary threads.
Note
The addresses of these functions are not guaranteed to be the same for all contexts, especially if they use different client APIs or even different context creation hints.
void glfwMakeContextCurrent ( GLFWwindow window)

This function makes the context of the specified window current on the calling thread. A context can only be made current on a single thread at a time and each thread can have only a single current context at a time.

Parameters
[in]windowThe window whose context to make current, or NULL to detach the current context.
Remarks
This function may be called from secondary threads.
See also
glfwGetCurrentContext
void glfwSwapBuffers ( GLFWwindow window)

This function swaps the front and back buffers of the specified window. If the swap interval is greater than zero, the GPU driver waits the specified number of screen updates before swapping the buffers.

Parameters
[in]windowThe window whose buffers to swap.
Remarks
This function may be called from secondary threads.
New in GLFW 3
This function no longer calls glfwPollEvents. You need to call it or glfwWaitEvents yourself.
See also
glfwSwapInterval
void glfwSwapInterval ( int  interval)

This function sets the swap interval for the current context, i.e. the number of screen updates to wait before swapping the buffers of a window and returning from glfwSwapBuffers. This is sometimes called 'vertical synchronization', 'vertical retrace synchronization' or 'vsync'.

Contexts that support either of the WGL_EXT_swap_control_tear and GLX_EXT_swap_control_tear extensions also accept negative swap intervals, which allow the driver to swap even if a frame arrives a little bit late. You can check for the presence of these extensions using glfwExtensionSupported. For more information about swap tearing, see the extension specifications.

Parameters
[in]intervalThe minimum number of screen updates to wait for until the buffers are swapped by glfwSwapBuffers.
Remarks
This function may be called from secondary threads.
Note
This function is not called during window creation, leaving the swap interval set to whatever is the default on that platform. This is done because some swap interval extensions used by GLFW do not allow the swap interval to be reset to zero once it has been set to a non-zero value.
Some GPU drivers do not honor the requested swap interval, either because of user settings that override the request or due to bugs in the driver.
See also
glfwSwapBuffers