1. 环境搭建
Windows10 + vs 2012
1. 下载GLUT包
地址 :http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip
解压:得到 glut.dll glut.h glut.lib glut32.dll glut32.lib 这几个文件
2. 将 glut.h 放到 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\include\GL 这个目录
将 glut.lib 个 glut32.lib 放到 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\lib\x86
2. 将glut.dll 和 glut32.dll 放在 C:\Windows\System32
3. 新建工程 测试 vs 运行 工程一定要选择 x86
4. 若还报错 将 将glut.dll 和 glut32.dll 放在 C:\Windows\SysWOW64
#include <GL/glut.h>
void myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
glFlush();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("第一个 OpenGL 程序");
glutDisplayFunc(&myDisplay);
glutMainLoop();
return 0;
}
2. 程序中出现的 静态库问题
#pragma comment (lib, "opengl32.lib")
#pragma comment (lib, "glaux.lib")
3. LINK 问题
4. 案例 画太阳不显示
void myDisplay(void)
{
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(75, 1, 1, 400000000);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0, -200000000, 200000000, 0, 0, 0, 0, 0, 1);
glColor3f(1.0f, 0.0f, 0.0f);
glutSolidSphere(69600000, 20, 20);
glutSolidSphere(696, 20, 20);
glColor3f(0.0f, 0.0f, 1.0f);
glRotatef(day / 360.0 * 360.0, 0.0f, 0.0f, -1.0f);
glTranslatef(150000000, 0.0f, 0.0f);
glutSolidSphere(15945000, 20, 20);
glColor3f(1.0f, 1.0f, 0.0f);
glRotatef(day / 30.0 * 360.0 - day / 360.0 * 360.0, 0.0f, 0.0f, -1.0f);
glTranslatef(38000000, 0.0f, 0.0f);
glutSolidSphere(4345000, 20, 20);
glFlush();
}