【计算机图形学】【笔记】3、GLUT的安装

《计算机图形学 第四版》学习笔记

GLUT如何安装。
在计算机图形学中介绍了什么是GLUT,其中第一个程序也正是基于GLUT编写的,那如何安装GLUT呢。费了老大劲。。
当我打开GLUT的官网的时候提示说GLUT已经不被支持超过20年了,现在的年轻人都用FreeGLUT。GLUT已经是很古老的东西了,而FreeGLUT却一直被维护,两者作为方便新手入门的初学者工具包,其函数都是一样的,因此可以使用FreeGLUT来入门学习。

下载FreeGLUT

如果使用搜索引擎的话,可能会找到各种各样的下载链接和版本,而最开始也特别容易下载到一些源码版本不知所措,这里我们直接下载编译好的版本:
https://www.transmissionzero.co.uk/software/freeglut-devel/
下载FreeGLUTforMinGW
找到Download freeglut 3.0.0 for MinGW (with PGP signature and PGP key),点击下载即可。
这个版本的是带有编译好的dll和lib以及头文件的版本,如果你下载的是源码版的话还需要手动编译,我被这一步劝退了好多次。

安装(放置头文件)

由于我们下载的是MinGW版本,因此lib里将会是.a结尾的文件,这些文件可以被MinGW所解析。如果你下载的是MSVC版本的FreeGLUT,那lib目录下会是.lib结尾的文件。

FreeGLUT目录如下:

  • bin
    • x64
      • freeglut.dll
    • freeglut.dll
  • include
    • GL
      • freeglut.h
      • freeglut_ext.h
      • freeglut_std.h
      • glut.h
  • lib
    • x64
      • libfreeglut.a
      • libfreeglut_static.a
    • libfreeglut.a
    • libfreeglut_static.a
      斜体的是目录,其他的是文件

可以看到bin和lib都有一个子目录x64,x64目录下的是64位的文件,而和x64同级的则是32位的文件。

复制路径

bin目录下文件

bin目录下的文件分别复制到C:\Windows\System32(32位复制到这里)和C:\Windows\SysWOW64(64位复制到这里)

include目录下文件

include目录下的文件(可以直接复制GL这个文件夹)复制到C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\include这个目录下(其他的VS版本类比该目录即可)

lib目录下文件

如果下载的是MinGW版本,即lib目录下的文件是.a结尾的文件,则复制到C:\MinGW\lib
如果下载的是MSVC版本,即lib目录下的文件是.lib结尾的文件,则复制到C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\lib

结束啦,可以验证了。。

下面的程序绘制了一条二维线段

#define NDEBUG 
#include "gl/freeglut.h"
#include <Windows.h>
#include <cstdlib>
#include <cstdio>
#include <cmath>

void init()
{
	glClearColor(1.0, 1.0, 1.0, 0); // 指定背景颜色

	glMatrixMode(GL_PROJECTION); // 设置投影模式
	gluOrtho2D(0.0, 200.0, 0.0, 150.0); // 设定坐标系的x范围和y范围
}

void lineSegmet()
{
	glClear(GL_COLOR_BUFFER_BIT); // 指定使用颜色缓存

	glColor3d(0.0, 0.4, 0.2);
	glBegin(GL_LINES);
	
	glVertex2i(180, 15);
	glVertex2i(10, 145);
	
	glEnd();

	glFlush();
}


int main(int argc, char **argv)
{
	glutInit(&argc, argv); // 初始化glut窗口
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // 设定显示窗口的缓存和颜色模型
	glutInitWindowPosition(50, 100); // 决定窗口左上角离屏幕左上角的位置
	glutInitWindowSize(400, 300); // 设定窗口大小
	glutCreateWindow("The Hello World Window!"); // 窗口名
	
	init();
	glutDisplayFunc(lineSegmet);

	glutMainLoop();

	return 0;
}

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值