第一个OpenGL程序
2020-11-03 本文已影响0人
BacteriumFox
第一个OpenGL程序
配置glut环境
-
使用VS创建一个C++控制台应用项目
-
下载glut3.7版,再项目目录下新建文件夹,并解压到该文件夹。总共包含5个文件:glut.dll、glut32.dll、glut.lib、glut32.lib、glut.h
-
将文件夹中的两个动态链接库
glut.dll, glut32.dll
都拷贝到C:\Windows\System32
和C:\Windows\SysWOW64
中(注意不是分别拷贝,是将两个文件在两个文件夹中都保存一份) -
在VS中打开属性管理器(视图-》其他窗口-》属性管理器),右击Debug|Win32文件夹,点击属性。
-
点击VC++目录,配置包含项目于库目录,指向前面解压到的文件夹
-
点击连接器/输入,修改附加依赖项:
glut32.lib;glut.lib
代码测试
新建文件OpenGL.cpp,输入以下代码,然后启动VS调试器
#include <glut.h>
#include <stdio.h>
/// <summary>
/// 错误检测
/// </summary>
/// <returns></returns>
GLenum errorCheck() {
GLenum code;
const GLubyte *string;
code = glGetError();
if (code != GL_NO_ERROR)
{
string = gluErrorString(code);
fprintf(stderr, "OpenGL error:%s\n", string);
}
return code;
}
void init(void) {
glClearColor(1, 1, 1, 0);//设定背景为白色
glMatrixMode(GL_PROJECTION);//设置投影类型
gluOrtho2D(0, 200, 0, 150);//世界坐标系二维矩形区域(超出该区域的物体不会被渲染)
}
void lineSegment(void) {
glClear(GL_COLOR_BUFFER_BIT);//创建显示窗口
glColor3f(1, 0.4, 0.2);//对象颜色
glBegin(GL_LINES);//绘制二维线段
glVertex2i(200, 150);
glVertex2i(0,0);
glEnd();
glFlush();//尽快处理所有opengl例程
}
void main(int argc, char** argv)
{
glutInit(&argc, argv);//GLUT初始化
glutCreateWindow("第一个OpenGL实例");//标题
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//设定窗口缓存与颜色
glutInitWindowPosition(50, 100);//窗口位置
glutInitWindowSize(400, 300);//窗口宽与高
init();
glutDisplayFunc(lineSegment);//将线段描述送到显示窗口
glutMainLoop();//激活窗口与图形内容
}
效果如下:
