|
|
|
@ -34,33 +34,45 @@ |
|
|
|
|
#include <stdio.h> |
|
|
|
|
#include <stdlib.h> |
|
|
|
|
|
|
|
|
|
#ifndef GL_ARB_multisample |
|
|
|
|
#define GL_SAMPLES_ARB 0x80A9 |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
typedef struct |
|
|
|
|
{ |
|
|
|
|
int param; |
|
|
|
|
char* ext; |
|
|
|
|
char* name; |
|
|
|
|
} ParamGL; |
|
|
|
|
|
|
|
|
|
typedef struct |
|
|
|
|
{ |
|
|
|
|
int param; |
|
|
|
|
char* name; |
|
|
|
|
} Param; |
|
|
|
|
} ParamGLFW; |
|
|
|
|
|
|
|
|
|
static Param parameters[] = |
|
|
|
|
static ParamGL gl_params[] = |
|
|
|
|
{ |
|
|
|
|
{ GL_RED_BITS, NULL, "red bits" }, |
|
|
|
|
{ GL_GREEN_BITS, NULL, "green bits" }, |
|
|
|
|
{ GL_BLUE_BITS, NULL, "blue bits" }, |
|
|
|
|
{ GL_ALPHA_BITS, NULL, "alpha bits" }, |
|
|
|
|
{ GL_DEPTH_BITS, NULL, "depth bits" }, |
|
|
|
|
{ GL_STENCIL_BITS, NULL, "stencil bits" }, |
|
|
|
|
{ GL_STEREO, NULL, "stereo" }, |
|
|
|
|
{ GL_SAMPLES_ARB, "GL_ARB_multisample", "FSAA samples" }, |
|
|
|
|
{ 0, NULL, NULL } |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static ParamGLFW glfw_params[] = |
|
|
|
|
{ |
|
|
|
|
{ GLFW_RED_BITS, "red bits" }, |
|
|
|
|
{ GLFW_GREEN_BITS, "green bits" }, |
|
|
|
|
{ GLFW_BLUE_BITS, "blue bits" }, |
|
|
|
|
{ GLFW_ALPHA_BITS, "alpha bits" }, |
|
|
|
|
{ GLFW_DEPTH_BITS, "depth bits" }, |
|
|
|
|
{ GLFW_STENCIL_BITS, "stencil bits" }, |
|
|
|
|
{ GLFW_REFRESH_RATE, "refresh rate" }, |
|
|
|
|
{ GLFW_ACCUM_RED_BITS, "accum red bits" }, |
|
|
|
|
{ GLFW_ACCUM_GREEN_BITS, "accum green bits" }, |
|
|
|
|
{ GLFW_ACCUM_BLUE_BITS, "accum blue bits" }, |
|
|
|
|
{ GLFW_ACCUM_ALPHA_BITS, "accum alpha bits" }, |
|
|
|
|
{ GLFW_AUX_BUFFERS, "aux buffers" }, |
|
|
|
|
{ GLFW_STEREO, "stereo" }, |
|
|
|
|
{ GLFW_FSAA_SAMPLES, "FSAA samples" }, |
|
|
|
|
{ GLFW_OPENGL_VERSION_MAJOR, "OpenGL major" }, |
|
|
|
|
{ GLFW_OPENGL_VERSION_MINOR, "OpenGL minor" }, |
|
|
|
|
{ GLFW_OPENGL_FORWARD_COMPAT, "OpenGL forward compatible" }, |
|
|
|
|
{ GLFW_OPENGL_DEBUG_CONTEXT, "OpenGL debug context" }, |
|
|
|
|
{ GLFW_OPENGL_PROFILE, "OpenGL profile" }, |
|
|
|
|
{ 0, NULL } |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
int main(void) |
|
|
|
@ -87,11 +99,26 @@ int main(void) |
|
|
|
|
|
|
|
|
|
printf("window size: %ix%i\n", width, height); |
|
|
|
|
|
|
|
|
|
for (i = 0; (size_t) i < sizeof(parameters) / sizeof(parameters[0]); i++) |
|
|
|
|
for (i = 0; glfw_params[i].name; i++) |
|
|
|
|
{ |
|
|
|
|
printf("%s: %i\n", |
|
|
|
|
parameters[i].name, |
|
|
|
|
glfwGetWindowParam(window, parameters[i].param)); |
|
|
|
|
glfw_params[i].name, |
|
|
|
|
glfwGetWindowParam(window, glfw_params[i].param)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for (i = 0; gl_params[i].name; i++) |
|
|
|
|
{ |
|
|
|
|
GLint value = 0; |
|
|
|
|
|
|
|
|
|
if (gl_params[i].ext) |
|
|
|
|
{ |
|
|
|
|
if (!glfwExtensionSupported(gl_params[i].ext)) |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
glGetIntegerv(gl_params[i].param, &value); |
|
|
|
|
|
|
|
|
|
printf("%s: %i\n", gl_params[i].name, value); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
glfwDestroyWindow(window); |
|
|
|
|