OpenGL 编程/安装/GLUT
外观
GLUT 是一个实用工具包,它为 OpenGL 应用程序提供窗口管理及其与操作系统的接口。
GLUT 最初是一个非自由库。如今,存在着免费/开源且可移植的替代方案,例如 FreeGLUT 和 OpenGLUT。
在本维基教科书中,我们推荐 FreeGLUT。有关如何安装它的详细信息,请参见特定平台的安装页面。
#include <stdio.h> /* printf */
#include <GL/glut.h> /* glut graphics library */
/*
Linux c console program
gcc f.c -lglut -lGL
./a.out
*/
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutCreateWindow("red 3D lighted cube");
printf("GL_VERSION = %s\n",glGetString(GL_VERSION) ); /* GL_VERSION = 2.1.2 NVIDIA 195.36.24 */
return 0;
}
此程序显示有关 glut 的信息。[1]
要编译
gcc v.c -lglut -lGL
要运行
./a.out
#include <stdio.h>
#if defined(HAVE_FREEGLUT)
#ifdef WIN32
#include "../include/GL/freeglut.h"
#else
#include <GL/freeglut.h>
#endif
#else
#include <GL/glut.h>
#endif
#define PROGRAM "glversion"
int main(int argc, char **argv)
{
char *version = NULL;
char *vendor = NULL;
char *renderer = NULL;
char *extensions = NULL;
GLuint idWindow = 0;
int glutVersion;
glutInit(&argc, argv);
glutInitWindowSize(1,1);
glutInitDisplayMode(GLUT_RGBA);
idWindow = glutCreateWindow(PROGRAM);
glutHideWindow();
glutVersion = glutGet(0x01FC);
version = (char*)glGetString(GL_VERSION);
vendor = (char*)glGetString(GL_VENDOR);
renderer = (char*)glGetString(GL_RENDERER);
extensions = (char*)glGetString(GL_EXTENSIONS);
printf("GLUT=%d\nVERSION=%s\nVENDOR=%s\nRENDERER=%s\nEXTENSIONS=%s\n",
glutVersion,version,vendor,renderer,extensions);
glutDestroyWindow(idWindow);
return(0);
}
浏览并下载完整代码