OpenGL是专业图形处理,科学计算等高端应用领域的标准图形库。它的主要竞争对手是微软的Direct3D。OpenGL曾长期处于技术上的领先地位,但近年来Direct3D也迎头赶上。目前这两种图形API在性能上可说是旗鼓相当。不过OpenGL支持众多的操作系统,而Direct3D只在Windows平台上可用。因此OpenGL仍然广受瞩目。
http://download.csdn.net/source/1776335
下载开发包将DLL放在SYStem32下、
lib放在VC include
建立 win32 console 工程 ->空程序
下面代码是一个2D的五角星
#include "stdafx.h"
#include <GL/glut.h>
#include "math.h"
void display(void)
{
float pi=3.1415926;
float a[5][2],b[5][2],r=80,R1;
R1=sin(pi/10)*(r/sin(pi*126/180));
glClear(GL_COLOR_BUFFER_BIT );
glColor3f(1.0,0.0,0.0);
for(int i=0;i<5;i++)
{
a[i][0]=r*sin(i*pi/2.5);
a[i][1]=r*cos(i*pi/2.5);
b[i][0]=R1*sin(pi/5+pi/2.5*i);
b[i][1]=R1*cos(pi/5+pi/2.5*i);
glBegin(GL_LINES);
glVertex3f(a[i][0],a[i][1],0.0);
glVertex3f(b[i][0],b[i][1],0.0);
glEnd();
}
glColor3f(0.0,1.0,0.0);
glBegin(GL_LINES);
glVertex3f(b[0][0],b[0][1],0.0);
glVertex3f(a[1][0],a[1][1],0.0);
glVertex3f(b[1][0],b[1][1],0.0);
glVertex3f(a[2][0],a[2][1],0.0);
glVertex3f(b[2][0],b[2][1],0.0);
glVertex3f(a[3][0],a[3][1],0.0);
glVertex3f(b[3][0],b[3][1],0.0);
glVertex3f(a[4][0],a[4][1],0.0);
glVertex3f(b[4][0],b[4][1],0.0);
glVertex3f(a[0][0],a[0][1],0.0);
glEnd();
// Done Drawing The Pyramid
glFlush();
}
void init(void)
{
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-100,100,-100,100,-1.0,1.0);
}
int main(int argc, char* argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(250,250);
glutInitWindowPosition(100,100);
glutCreateWindow("hello");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}