OpenGL织梦之旅【第一章】使用glut工具包配置OpenGL环境

openGL学习之glut库的使用 对于初学者来说,做小项目用的glut已经很足够了,它的定义是用于简单程序和初学者学习使用的简单的、容易的、小的。 vs2015创建空项目: 然后在项目中添加glut中include路径: 先创建一个调用glut.h的大框架: #include <GL/glut.h> // 创建图形窗口的基本宏 #define WINDOW_X_POS 50 #define WINDOW_Y_POS 50 #define WIDTH 700 #define HEIGHT 700 // 用于注册 GLUT 的 阅读详情

第1章.使用glut工具包配置OpenGL环境

      GLUT是一个方便实用的opengl工具包,它可以帮助你快捷地建立窗口,接受键盘鼠标响应,并且不受平台限制。对于我们初学者来说,使用这个包可以帮助我们很快地入门。当我们对程序有更高的需求时,我们再学习怎么样搭建基于windows应用程序的opengl程序框架。

      下面以VC6.0为例,说明安装glut的步骤:

            1.首先,我们需要下载GLUT库http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip
            2.
将压缩包内的glut.h放到...\MicrosoftVisual Studio\VC98\Include\GL目录下

               将glut32.lib放到...\MicrosoftVisual Studio\VC98\Lib目录下
               将glut32.dll放到C:\windows\systom32目录下
            3.
建立一个控制台工程Win32Console Application,加入HelloOpenGL.c并编译运行:

#include <GL/glut.h>
void Draw()
{
    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("HelloOpenGL");
    glutDisplayFunc(&Draw);
    glutMainLoop();
    return 0;
}


这个是运行的效果图:


注:笔者使用的是Ubuntu下CodeBlocks进行的开发,所以可能窗口的外观与windows下有所不同,不过这些都无关紧要。

      可以看到两个窗口,我们只管那个有图形的窗口就是了。

      刚刚的程序,在一个黑色的窗口中央画了一个白色的矩形。

下面来解释一下main函数中几个glut函数的作用:

1、glutInit,glut初始化,这个函数必须在使用其它的GLUT函数之前调用一次

2、glutInitDisplayMode,设置显示方式,其中GLUT_RGB表示使用RGB颜色。

3、glutInitWindowPosition,设置窗口在屏幕中的位置。

4、glutInitWindowSize,设置窗口的大小。

5、glutCreateWindow,创建窗口,给定的字符串参数是窗口的标题。

6、glutDisplayFunc,注册一个绘图函数。我们目前只管把画图函数Draw()作为参数就行了。

7、glutMainLoop,进行一个消息循环。

      以上的7个函数,不理解没关系,他们的作用主要是辅助我们使用OpenGL画图,我们学习的重点并不是这些函数,只需要知道他们的作用就行了。

      在draw函数中,gl开头的函数,便是我们的OpenGL的标准函数。

      glClear()语句的作用是使用清除颜色来清除指定的缓冲区。参数GL_COLOR_BUFFER_BIT是指用清除颜色来清除当前可写的颜色缓冲,其中,清除颜色可以由glClearColor()函数来设定。

      glRectf()作用是画一个矩形,四个参数分别为对角线上左下方的点的横纵坐标和右上方点的横纵坐标。

      glFlush()的作用是让之前的gl命令执行,如果只有glRectf语句的话,命令则不会成功的运行,而且还会出现很有趣的结果^_^。

以上的3个函数,能理解则理解,不能理解就把他们的作用记下来,以后用多了就慢慢理解了。

作者:plusplus7

日期:2012年11月19日

【OpenGL】使用MinGW下gcc编译OpenGL的glut和freeglut库 环境 Window10、gcc version 6.3.0 (MinGW.org GCC-6.3.0-1)、GLUT库(下载地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip) 步骤 1~4. 参考【1】 5. 将glut32.dll放入 C:\Windows\SysWOW64 目的是为了防止win10操作系统中找不到glut32.dll,无法继续执行代码的问题。原因可能与平台位数有关(我将第四步去掉,也能正常运行。是 阅读详情

相关推荐

OpenGL开发者必备:GLUT工具包解决方案

GLUT,全称为OpenGL Utility Toolkit,是OpenGL的一个辅助库,最初由Mark Kilgard开发,以简化OpenGL编程。它提供了创建窗口、处理输入以及绘制基本图形的简单接口。GLUT的出现极大地降低了OpenGL入门门槛,它不仅隐藏了不同操作系统的窗口系统差异,还提供了一套简洁的API来管理窗口、处理用户输入以及绘制简单图形。随着时间的发展,GLUT已经逐渐被更现代化的库,如FreeGLUT和GLFW所取代。

weixin_32047493的博客 901

【OpenGL开发】glut和freeglut下载及配置

目录 1、glut下载 2、freeglut下载 3、代码示例 后续 1、glut下载 OpenGL工具库 OpenGL Utility Toolkit,包含大约30多个函数,函数名前缀为glut。 glut是不依赖于窗口平台的OpenGL工具包,由Mark KLilgrad在SGI编写(现在在Nvidia),目的是隐藏不同窗口平台API的复杂度。 函数以glut开头,它们作为aux库功能更强的替代品,提供更为复杂的绘制功能,此函数由glut.dll来负责解释执行。由于glut中的窗口管理函数

爱看书的小沐 2万+

OpenGL与GLUT工具包综合开发指南

OpenGL(Open Graphics Library)是一种用于渲染二维和三维矢量图形的跨语言、跨平台的应用程序编程接口(API)。自1992年由SGI公司开发以来,OpenGL已成为计算机图形学领域的行业标准。它由Khronos Group进行维护,允许开发者在多种操作系统上进行高速、高质量的图形处理。OpenGL不仅适用于游戏开发,还在CAD(计算机辅助设计)、虚拟现实(VR)、科学可视化和动画等多个领域有着广泛的应用。GLUT使用回调函数来响应各种事件。

weixin_42323064的博客 733

计算机图形学——基于glut的实验

一个简单的做法是将输入的起始点和终点坐标(x0,y0)、(x1,y1)转换为(y0,x0)、(y1,x1).这样便转化成了k

m0_52108067的博客 545

GLUT工具包下载,内含glut.dll、glut.h、glut.lib、glut32.dll、glut32.lib五个文件

GLUT工具包下载。内含glut.dll、glut.h、glut.lib、glut32.dll、glut32.lib五个文件

glut环境安装工具包

glut安装包适用于windows的OPenGL安装包,解决错误: 无法打开包括文件:“gl/glut.h”

OpenGL的窗口和交互工具包项目

freeglutfreeglut是 GLUT (OpenGL Utility Toolkit)的一个免费开源替代库。在程序中负责创建窗口、初始化 OpenGL 上下文和处理输入事件所需的所有系统特定的杂务,从而允许创建真正可移植的OpenGL程序。在 OpenGL 项目开发中,freeglut一般搭配glew一起使用;

icandoit2010的专栏 669

GLUT工具包

glut.h glut.dll glut32.dll glut.lib glaux.lib glaux.dll glaux.h 各种

【免费下载】 GLUT工具包下载仓库

GLUT工具包下载仓库 【下载地址】GLUT工具包下载仓库 本仓库提供了一个名为“GLUT工具包”的资源文件下载。GLUT(OpenGL Utility Toolkit)是一个用于OpenGL编程的实用工具包,虽然它不是OpenGL编程的必需品,但它能够为我们的学习带来一定的便利,因此推荐安装 ...

gitblog_09780的博客 537

OpenGL工具包GLUT

opengl编程 包括:glut.h, glut.dll, glut32.dll, glut.lib, glut32.lib,用于解决无法打开包括文件:“gl/glut.h”: No such file or directory

WangEditor 5.0版本dangerouslyInsertHtml方法的正确使用方式

WangEditor 5.0版本dangerouslyInsertHtml方法的正确使用方式

yang1067155909的专栏 4290

ControlNet SDXL Inpaint:革命性AI图像修复工具,如何用MindSpore实现精准控制图像生成

ControlNet SDXL Inpaint是一款基于MindSpore框架开发的革命性AI图像修复工具,它结合了ControlNet的条件控制能力和Stable Diffusion XL(SDXL)的高质量图像生成能力,为用户提供了前所未有的图像修复和编辑体验。这个开源项目让普通用户也能轻松实现专业级的图像修复效果,通过智能的AI技术精准控制图像生成过程。😊 ## 🔥 什么是Contro

gitblog_09736的博客 386

手把手教你配置SAP PP供应区域(Supply Area):实现线边仓精准发料与物料流优化

本文详细解析了SAP PP供应区域(Supply Area)的配置方法,帮助企业实现线边仓精准发料与物料流优化。通过三级优先级逻辑和四步配置法,系统可自动识别最优组件来源位置,显著提升生产订单处理效率和库存准确率。文章还提供了典型问题解决方案和性能优化技巧,适用于离散制造和重复制造场景。

weixin_29275257的博客 433

OpenGL环境的配置(GLUT安装教程)

OpenGL作为最底层的图形显示库,学习了解能对图形建模有着更深刻的理解 目录概述1.下载Glut的依赖库2.配置 OpenGL环境3.测试运行 概述 编写openGL程序使用的是IDE是Microsoft Visual Studio(毕竟宇宙第一IDE)。安装VS后需要安装OpenGL的图形库依赖了。 由于目前学习采用的是Glut,所以以下为Glut的安装教程。 1.下载Glut的依赖库 OpenGl的官网:https://www.opengl.org/ 在官网上目前下载Glut的入口在:https:.

Pzx的博客 6万+

智能优化算法-北方苍鹰优化算法(NGO)(附源码)

北方苍鹰优化算法 (Northern Goshawk Optimizer, NGO) 是一种基于群体智能的元启发式优化算法,它模拟了北方苍鹰(Northern Goshawk)的捕食行为、领地行为以及社交互动,用于解决复杂的优化问题。总之,NGO作为一种新颖的优化算法,在处理复杂优化问题方面展现出了潜力。随着进一步的研究和应用,NGO有望成为解决实际问题的有效工具。

w971656545的博客 1361

泛微ecology9 HRMwebservice接口实战:企业组织架构与人员信息同步指南

本文详细介绍了泛微ecology9 HRMwebservice接口在企业系统集成中的实战应用,重点解析了如何通过该接口实现组织架构与人员信息的双向同步。内容涵盖环境配置、核心接口调用、数据格式规范及常见错误排查,旨在帮助开发与运维工程师高效完成主数据同步,提升企业IT管理效率。

weixin_29323365的博客 498

VS2019配置OpenGL-glut环境

VS2019配置OpenGL-glut环境 本来觉得配置环境很简单,没想到还是踩了不少坑,用了很久的时间才搞定,所以还是有必要记录一下过程。 首先新建一个常规的控制台项目,不必多说。 从Nuget下载glut程序包 Nuget是vs的包管理工具,在VS安装程序就可以下载安装: 右键项目,选择管理NuGet程序包…,搜索freeglut,在浏览选项卡中可以看到搜索结果,下载freeglut: 然后freeglut就会安装在项目路径的packages文件夹下面。 freeglut有两个文件夹,分别是

u012197668的博客 5133

NBIS单细胞教程:差异基因(五)

此文章是通过学习瑞典国家生物信息学基础设施(NBIS) 所开放的单细胞分析教程加上网上所查找的资料,自身的理解所形成的,可能会有不足之处。该部分是对不同集群之间的差异基因进行分析。参考来源:https://github.com/NBISweden/workshop-scRNAseq/blob/master/labs/seurat/seurat_05_dge.Rmd感兴趣的话可以阅读原文。

songyi10的博客 1万+

【小沐学OpenGL】Ubuntu环境下glut的安装和使用

OpenGL作为图形界的工业标准,其仅仅定义了一组2D和3D图形接口API,而对于窗口管理、IO消息响应等并没有规定。也就是说,OpenGL依赖各平台提供用于渲染的context以及具体实现方式,而各平台提供的实现不尽相同。这些实现主要有:Windows平台下的WGL、Linux下的Mesa/GLX、Mac OS X下的Cocoa/NSGL,以及跨平台的GLUT、GLFW、SDL等等。OpenGL工具库 OpenGL Utility Toolkit,包含大约30多个函数,函数名前缀为glut。

爱看书的小沐 2904

Isograph Reliability Workbench 14实战:从零构建故障树分析模型

本文以“马达不转”为例,手把手教你使用Isograph Reliability Workbench 14从零构建故障树分析模型。内容涵盖创建工程、定义顶事件、添加逻辑门与基础事件等核心步骤,并介绍了模型检查与定性定量分析,帮助你系统掌握这一强大的可靠性工程工具。

weixin_29309213的博客 359

Vivado实战:如何用BUFGMUX_CTRL实现FPGA双时钟热切换(附时序约束模板)

本文详细介绍了如何使用Xilinx FPGA中的BUFGMUX_CTRL原语实现双时钟热切换的工业级解决方案。通过分析BUFGMUX_CTRL的核心机制、PCB布局约束和电源噪声抑制方法,提供Vivado实现全流程和时序约束模板,帮助工程师在工业自动化、车载电子等场景中提升系统可靠性。

weixin_29186249的博客 576

VS配置永久OpenGL环境------GLUT、GLFW

VS配置永久OpenGL环境------GLUT、GLFW

m0_53552112的博客 3584

学Simulink——基于大数据处理与云计算的场景实例:无人机与云计算中心之间的高效数据传输链路设计

本文以无人机与云计算中心的高效数据传输链路设计为例,手把手指导使用Simulink进行系统级建模。针对智慧城市、灾害监测等场景中无人机采集的海量数据(视频、图像、点云等),构建包含数据源、传输协议、无线链路、云接入和性能分析的五层架构模型。通过智能数据压缩、多链路聚合和QoS优先级调度等关键技术,实现5G+Wi-Fi等多通信技术的自适应切换。仿真结果表明,5G+Wi-Fi链路聚合在城市环境中表现最优,而4G+卫星组合适合偏远地区。该模型为无人机实时数据传输提供了有效的设计方法和优化方向,可拓展至边缘计算、A

xiaoheshang_123的博客 120

openGL编程GLUT配置和“helloworld”

老版本: GLUT代表OpenGL应用工具包,英文全称为OpenGL Utility Toolkit,是一个和窗口系统无关的软件包,它由Mark Kilgard在SGI时写的。作为AUX库的功能更强大的替代品,用于隐藏不同窗口系统API的复杂性。是一个学习OpenGL编程的一个良好开端。 首先,安装GLUT工具包 GLUT不是OpenGL所必须的,但它会给我们的学习带来很多的一定的方

—— 然 之 9336

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

OpenGL---GLUT教程(一) GLUT简介,体系

                                            GLUT 教程                                            体系 GLUT 代表OpenGL Utility Tookit。Mark J.Kilgard 为了使OpenGL应用程序结构能够真正独立于窗口系统构思了GLUT库。感谢GLUT,使我们可以写程序

xie_zi的专栏 2万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

上一篇: OpenGL织梦之旅【第0章】前言
下一篇: POJ 3274 Gold Balance Lineup
plusplus7
博客等级 码龄15年 59粉丝 173原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值