--  简介  --

OpenGL是通过数学等理论知识定义3D或2D模型,由计算机通过流水线渲染技术进行渲染,产生逼真的场景图像,电影和游戏中的特效都有用到。每每看到精美的画面,真想自己也能做出如此作品。先好好学习吧!

想要学习是好事,关键是要坚持,方法得当。之前在导师的提议下,买了《交互式计算机图形学》,粗略过了一遍,其中有提到glut这个图形库,这是个开发中小型图形应用的跨平台图形库,对于入门学习图形学是很适合的。可以查看百度百科介绍

glut下载链接:https://www.opengl.org/resources/libraries/glut/  【页面中点击Pre-compiled Win32 for Intel GLUT 3.7 DLLs for Windows 95 & NT 下载】

--  环境配置  --

实验中下载window预编译文件,默认文件名为:glutdlls37beta.zip,解压到G:\glut\lib,可根据自己需要解压到其他位置。

总共包含5个文件:glut.dll、glut32.dll、glut.lib、glut32.lib、glut.h

为了方便,将两个动态链接库都拷贝到C:\Windows\System32 和C:\Windows\SysWOW64

启用visual studio 2017,新建一个空项目,在属性管理器中选择Debug|Win32,右键属性,选择VC++ 目录, 点击右边的包含目录并编辑路径为G:\glut\lib,库目录同样操作

接着,左手边点击链接器,展开选择输入,在附加依赖项中编辑glut32.lib和glut.lib

vs中配置方法都类似,在学习OpenCV时配置情况类似。

--  代码测试  --

新建一个源文件main.cpp

输入以下代码:

 #include <glut.h>

 void display(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(, );
glutInitWindowSize(, );
glutCreateWindow("第一个OpenGL程序");
glutDisplayFunc(&display);
glutMainLoop();
return ;
}

运行后结果如下:

默认情况下,结果中包含一个命令行窗口和OPenGL的结果窗口。

--  画点、画线、画矩形  --

在上面测试代码中,将display函数修改如下,即可画出几个点几条边和一个矩形。

画点画边包含在glBegin()和glEnd()之间,点的话就简单指定位置及大小颜色等,边的话类似,只是每条边要以两个点确定,故在画线实验代码中点成对出现

 void display(void) {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0f, 0.3f, 1.0f);
glRectf(-0.5f, -0.5f, 0.5f, 0.5f); // 画矩形
glPointSize(5.0f);
glColor3f(1.0f, 0.0f, 0.0f); // 打点
glBegin(GL_POINTS);
glVertex2f(0.0f, 0.0f);
glVertex2f(-0.5f, -0.5f);
glVertex2f(0.5f, -0.5f);
glVertex2f(-0.5f, 0.5f);
glVertex2f(0.5f, 0.5f);
glEnd(); // 画线
glLineWidth(2.0f);
glColor3f(0.0f, 1.0f, 1.0f);
glBegin(GL_LINES);
glVertex2f(1.0f, 0.0f);
glVertex2f(0.0f, 1.0f);
glVertex2f(0.0f, 1.0f);
glVertex2f(-1.0f, 0.0f);
glVertex2f(-1.0f, 0.0f);
glVertex2f(0.0f, -1.0f);
glVertex2f(0.0f, -1.0f);
glVertex2f(1.0f, 0.0f);
glEnd(); glFlush();
}

修改后,运行结果如下:

01->OpenGL 实验环境配置(glut)及简单实例的更多相关文章

  1. Fedora和Ubuntu下安装OpenGL开发环境配置

    Fedora下OpenGl开发环境配置 开发OpenGL工程需要3个库文件和对应的头文件: libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h 这些库 ...

  2. OVS + dpdk 安装与实验环境配置

    ***DPDK datapath的OVS的安装与实验环境配置 首先肯定是DPDK的安装       0:安装必要的工具            make            gcc           ...

  3. Windows7+VS2010下OpenGL的环境配置

    http://johnhany.net/2014/01/environment-for-opengl-with-vs2010/ OpenGL(Open Graphics Library)是一个开放的. ...

  4. OpenGL+VS2010环境配置及遇到的问题

    OpenGL+VS2010+GLUT工具包+WIN10系统: 第一步,安装GLUT工具包 Windows环境下的GLUT下载地址:(大小约为150k) http://www.opengl.org/re ...

  5. 01 Java jdk环境配置

    1.1 书籍(B) [1] java核心技术 [2] 实战java 1.2 网址(B) oracle.com http://www.ibm.com/developerWorks/cn/ https:/ ...

  6. 【React Native开发】React Native For Android环境配置以及第一个实例(1)

    年9月15日也公布了ReactNative for Android,尽管Android版本号的项目公布比較迟,可是也没有阻挡了广大开发人员的热情.能够这样讲在2015年移动平台市场上有两个方向技术研究 ...

  7. 史上最简单OpenGL+VS2017环境配置

    这里采用 最简单的方法: (1)添加Nuget包管理器(方便我们为项目添加OpenGL的库) (2)新建一个项目 右键我们的项目名 ——> 管理NuGet程序包——>搜索nupengl,然 ...

  8. OpenGL开发环境配置-Windows/MinGW/Clion/CMake

    因为某些原因,不想用过于臃肿的VS了,转而使用常用的jetbrains的CLion,Clion沿袭了jetbrans的优良传统,基本代码提示功能还是比较好的,不过就是对于windows不熟悉cmake ...

  9. OpenGL 开发环境配置:Visual Studio 2017 + GLFW + GLEW

    Step1:Visual Studio 2017 Why 开发环境,后面编译GLFW 和 GLEW也要用 How 这里使用的是Visual Studio 2017的 Community 版本,直接官网 ...

随机推荐

  1. Dubbo入门到精通学习笔记(十五):Redis集群的安装(Redis3+CentOS)、Redis集群的高可用测试(含Jedis客户端的使用)、Redis集群的扩展测试

    文章目录 Redis集群的安装(Redis3+CentOS) 参考文档 Redis 集群介绍.特性.规范等(可看提供的参考文档+视频解说) Redis 集群的安装(Redis3.0.3 + CentO ...

  2. LeetCode 分隔链表

    题目链接:https://leetcode-cn.com/problems/partition-list/ 题目大意 略. 分析 空间复杂度 O(1) 的做法蛮有意思的,另外加头结点可以少写很多代码. ...

  3. 剑指offer——49礼物的最大价值

    题目描述 在一个m*n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于0).你可以从棋盘的左上角开始拿格子里的礼物,并每次向左或者向下移动一格,知道到达棋盘的右下角.给定一个棋盘及其上面 ...

  4. 第一章 Linux是什么

    Linux是核心与系统调用接口两层中间的操作系统 不同硬件的功能函数并不相同,IBM的Power CPU与Inter的x86架构不同,所以同一套操作系统是不能在不同的硬件平台上面运行的.也就是说,每种 ...

  5. 高效IO之File文件操作类的基础用法(二)

    更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680 前言 众所周知Java提供File类,让我们对文件进行操作,下面就来简单整理了一 ...

  6. 代码控制PrivateBinPath和ConfigurationFile的位置

    原文:代码控制PrivateBinPath和ConfigurationFile的位置 .Net的WinForm程序有的时候让人很烦的是,在执行目录下总是一大堆的DLL,配置文件,最少则是个以下,多的时 ...

  7. Jmeter 请求参数中包含 MD5 加密的密码

    如何在jmeter中对参数进行加密 使用工具:java+myeclipse 让开发将他的加密类从eclipse中导出来打成jar包,放在jmeter安装文件夹lib文件夹中%JMETER HOME%\ ...

  8. 2019-4-15-VisualStudio-如何在-NuGet-包里面同时包含-DEBUG-和-RELEASE-的库

    title author date CreateTime categories VisualStudio 如何在 NuGet 包里面同时包含 DEBUG 和 RELEASE 的库 lindexi 20 ...

  9. uuencode - 对二进制文件编码

    总览 (SYNOPSIS) uuencode [-m] [ file ] name uudecode [-o outfile] [ file ]... 描述 (DESCRIPTION) Uuencod ...

  10. 深度学习攻防对抗(JCAI-19 阿里巴巴人工智能对抗算法竞赛)

    最近在参加IJCAI-19阿里巴巴人工智能对抗算法竞赛(点击了解),初赛刚刚结束,防御第23名,目标攻击和无目标攻击出了点小问题,成绩不太好都是50多名,由于找不到队友,只好一个人跟一群大佬PK,双拳 ...