前一篇简单使用了终端将openGL简单编译,现在我们使用更加高效的方式实现openGL编程。
1 Makefile
INCLUDE = -I/usr/include/
LIBDIR = -L/usr/X11R6/lib -L/usr/local/lib
COMPILERFLAGS = -Wall
CC = gcc
CFLAGS = $(COMPILERFLAGS) $(INCLUDE)
LIBRARIES = -lX11 -lXi -lXmu -lglut -lGL -lGLU -lm
all: gltest
gltest : gltest .o
$(CC) $(CFLAGS) -o gltest $(LIBDIR) gltest .o $(LIBRARIES)
clean:
rm -f *.o
2 Eclipse IDE
这里呢只不过是把上面的Makefile文件参数加载入工程属性中,具体可以如下:(请先保证Eclipse已经安装CDT)
1)创建一个C工程
2)右键 选择“Properties”(属性)
3)按下图添加以下内容(include & library):
4) 点击OK,编译源文件,运行程序
以下是一个样例:
#include <GL/glut.h>
void init();
void display();
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(0, 0);
glutInitWindowSize(500, 500);
glutCreateWindow("OpenGL 3D View");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
void init()
{
glClearColor(1.0, 1.0, 1.0, 1.0);
glMatrixMode(GL_PROJECTION);
glMatrixMode(GL_MODELVIEW);
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glShadeModel(GL_SMOOTH);
glColor3f(1.0,0.0,0.0);
glVertex2f(-0.5,0.8);
glColor3f(1.0,1.0,0.0);
glVertex2f(0.5,0.8);
glColor3f(0.0,1.0,0.0);
glVertex2f(1,0.0);
glColor3f(0.0,1.0,1.0);
glVertex2f(0.5,-0.8);
glColor3f(0.0,0.0,1.0);
glVertex2f(-0.5,-0.8);
glColor3f(1.0,0.0,1.0);
glVertex2f(-1.0,0.0);
glEnd();
glFlush();
}
样例输出: