位置: 编程技术 - 正文

OpenGL 入门教程1(opengl入门视频教程)

编辑:rootadmin
说起编程作图,大概还有很多人想起 TC 的#include <graphics.h>吧?但是各位是否想过,那些画面绚丽的 PC 游戏是如何编写出来的?就靠 TC 那可怜的 * 分辨率、色来做吗?显然是不行的。本帖的目的是让大家放弃 TC 的老旧图形接口,让大家接触一些新事物。OpenGL 作为当前主流的图形 API 之一,它在一些场合具有比 DirectX 更优越的特性。1、与 C 语言紧密结合。OpenGL 命令最初就是用 C 语言函数来进行描述的,对于学习过 C 语言的人来讲,OpenGL 是容易理解和学习的。如果你曾经接触过 TC 的 graphics.h,你会发现,使用 OpenGL 作图甚至比 TC 更加简单。2、强大的可移植性。微软的 Direct3D 虽然也是十分优秀的图形 API,但它只用于 Windows 系统(现在还要加上一个 XBOX 游戏机) 。而 OpenGL 不仅用于 Windows,还可以用于 Unix/Linux 等其它系统,它甚至在大型计算机、各种专业计算机(如:医疗用显示设备)上都有应用。并且,OpenGL 的基本命令都做到了硬件无关,甚至是平台无关。3、高性能的图形渲染。OpenGL 是一个工业标准,它的技术紧跟时代,现今各个显卡厂家无一不对 OpenGL 提供强力支持,激烈的竞争中使得 OpenGL 性能一直领先。总之,OpenGL 是一个很 NB 的图形软件接口。至于究竟有多 NB,去看看 DOOM3 和 QUAKE4 等专业游戏就知道了。OpenGL 官方网站(英文) Windows 下的 OpenGL 编程进行简单介绍。学习 OpenGL 前的准备工作第一步,选择一个编译环境现在Windows系统的主流编译环境有Visual Studio, Broland C&#;&#; Builder, Dev-C&#;&#;等, 它们都是支持OpenGL的。但这里我们选择 Visual Studio 作为学习 OpenGL 的环境。第二步,安装 GLUT 工具包GLUT 不是 OpenGL 所必须的,但它会给我们的学习带来一定的方便,推荐安装。Windows 环境下的 GLUT 下载地址: (大小约为 k) 环境下安装 GLUT 的步骤:1、将下载的压缩包解开,将得到 5 个文件2、在“我的电脑”中搜索“gl.h”,并找到其所在文件夹(如果是 VisualStudio,则应该是其安装目录下面的“C:Program Files (x)Windows Kits8.1Includeumgl 文件夹”) 。把解压得到的 glut.h 放到这个文件夹。3、把解压得到的 glut.lib 和 glut.lib 放到静态函数库所在文件夹(如果是 VisualStudio,则应该是其安装目录下面的“C:Program Files (x)Windows Kits8.1Lib”文件夹) 。4、把解压得到的 glut.dll 和 glut.dll 放到操作系统目录下面的 system 文件夹内。 (典型的位置为:C:WindowsSystem)第三步,建立一个 OpenGL 工程这里以 VisualStudio 为例。选择 File->New->Project,然后选择 Win控制台程序,点击确定第一个 OpenGL 程序

推荐整理分享OpenGL 入门教程1(opengl入门视频教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl入门视频教程,opengl使用教程,opengl入门教程(精),opengl入门书,opengl入门教程(精),opengl入门视频教程,opengl教程48讲,opengl 入门教程,内容如对您有帮助,希望把文章链接给更多的朋友!

OpenGL 入门教程1(opengl入门视频教程)

一个简单的 OpenGL 程序如下: (注意,如果需要编译并运行,需要正确安装 GLUT,安装方法如上所述)

该程序的作用是在一个黑色的窗口中央画一个白色的矩形。下面对各行语句进行说明。怎么样?代码还不算长吧?首先,需要包含头文件#include <GL/glut.h>,这是 GLUT 的头文件。本来 OpenGL 程序一般还要包含<GL/gl.h>和<GL/glu.h>,但 GLUT 的头文件中已经自动将这两个文件包含了,不必再次包含。然后看 main 函数。int main(int argc, char *argv[]),这个是带命令行参数的 main 函数,各位应该见过吧?没见过的同志们请多翻翻书,等弄明白了再往下看。注意 main 函数中的各语句,除了最后的 return 之外,其余全部以 glut 开头。这种以 glut 开头的函数都是GLUT 工具包所提供的函数,下面对用到的几个函数进行介绍。1、glutInit,对 GLUT 进行初始化,这个函数必须在其它的 GLUT 使用之前调用一次。其&#;式比较死板,一般照抄这句 glutInit(&argc, argv)就可以了。2、 glutInitDisplayMode, 设置显示方式, 其中GLUT_RGB表示使用RGB颜色, 与之对应的还有GLUT_INDEX(表示使用索引颜色) 。 GLUT_SINGLE 表示使用单缓冲, 与之对应的还有 GLUT_DOUBLE (使用双缓冲) 。更多信息,请自己 Google。当然以后的教程也会有一些讲解。3、glutInitWindowPosition,这个简单,设置窗口在屏幕中的位置。4、glutInitWindowSize,这个也简单,设置窗口的大小。5、glutCreateWindow,根据前面设置的信息创建窗口。参数将被作为窗口的标题。注意:窗口被创建后,并不立即显示到屏幕上。需要调用 glutMainLoop 才能看到窗口。6、glutDisplayFunc,设置一个函数,当需要进行画图时,这个函数就会被调用。 (这个说法不够准确,但准确的说法可能初学者不太好理解,暂时这样说吧) 。7、glutMainLoop,进行一个消息循环。 (这个可能初学者也不太明白,现在只需要知道这个函数可以显示窗口,并且等待窗口关闭后才会返回,这就足够了。 )在 glutDisplayFunc 函数中,我们设置了“当需要画图时,请调用 myDisplay 函数”。于是 myDisplay 函数就用来画图。观察 myDisplay 中的三个函数调用,发现它们都以 gl 开头。这种以 gl 开头的函数都是 OpenGL的标准函数,下面对用到的函数进行介绍。1、glClear,清除。GL_COLOR_BUFFER_BIT 表示清除颜色,glClear 函数还可以清除其它的东西,但这里不作介绍。2、glRectf,画一个矩形。四个参数分别表示了位于对角线上的两个点的横、纵坐标。3、glFlush,保证前面的 OpenGL 命令立即执行(而不是让它们在缓冲区中等待) 。其作用跟 fflush(stdout)类&#;。

OpenGL 函数 gluLookAt() glScalef() glTranslatef() glRotatef() glFrustum() glPerspective() 的使用 转自:

解决安装OpenGL时程序运行提示glut.dll丢失的问题 今天开始第一次带实验,有点小紧张。虽然中途出现了一些小波折,比如教室安排有误和教室没有投影仪。。但同学们都比较主动,同时帮助我解决了

OpenGL编程逐步深入(一)创建一个窗口 原文地址:

标签: opengl入门视频教程

本文链接地址:https://www.jiuchutong.com/biancheng/373056.html 转载请保留说明!

上一篇:error C2258: illegal pure syntax, must be '= 0'

下一篇:OpenGL 函数 gluLookAt() glScalef() glTranslatef() glRotatef() glFrustum() glPerspective() 的使用(opengl 函数可以在子线程中调用吗)

  • 流转税通俗
  • 企业所得税怎么做账
  • 存货跌价准备影响当期损益吗
  • 代扣代缴增值税纳税义务发生时间
  • 电子发票入账是什么意思
  • 变更法人代表要查征信吗
  • 审计调整分录要在金蝶调吗
  • 三证合一后税务登记证要收回吗
  • 万元版增值税发票最多可以开多少
  • 利润和营收哪个更重要
  • 应交增值税减免税款
  • 进口增值税发票图片
  • 营改增后房地产公司税种及税率
  • 装修增值税普通发票几个点
  • 关于330技术维护费
  • 企业当年度增值税税率
  • 建安类增值税专用发票什么时候改的
  • 合作社开具的免税普票计算抵扣
  • 外贸企业运输费用占总成本比例
  • 分配利润账务处理
  • 期望和方差的计算例题
  • 一般人企业所得税怎么算
  • 增值税普通发票几个点
  • 未开票收入必须全部转开票收入吗为什么
  • 制造费用明细科目有哪些
  • 苹果电脑macbookpro使用教程
  • 只有土地使用权房子拆了怎么办
  • vue3.0组件库
  • phpjson
  • 忘记电脑开机密码怎么打开电脑
  • 报销费用多付会计分录
  • php string
  • 固定资产增值税税率
  • 分手我不怕
  • 石炭纪的树有多高
  • 竣工结算与竣工决算的主要区别是什么
  • 除湿器属于固定资产什么类别
  • PHP自定义函数返回两个数中大的那个
  • php判断文件后缀
  • iterator用法 移除对象
  • 如何在亚马逊平台卖货
  • win11安卓子系统教程
  • php ffi
  • thinkphp6验证
  • 业务招待费可以结转以后年度扣除吗
  • php安装插件
  • centos7自带yum吗
  • sqlserver重复数据
  • 小规模纳税人做工资没交社保
  • 所得税费用需要结转损益吗
  • 车保险里面的车船税
  • 建筑劳务企业应发民工工资年终未发是否进行纳税调整
  • 业务招待费的扣除标准60%什么意思
  • 房租增值税专票税点
  • 关于合同履约成本的表述错误的有
  • 公司员工还款会计分录
  • WINDOWS系统中删除放入回收站的文件占用什么空间
  • win7防病毒设置在哪
  • 关闭xp不需要的服务
  • manager是啥
  • win7系统解决数字签名问题
  • win7系统出现蓝屏怎么解决
  • win10怎么启用网卡
  • 安卓 游戏软件
  • cocos2dx4.0教程
  • 实用的批处理
  • Unity3D游戏开发标准教程
  • javascript可以制作哪些游戏?
  • jquery 图片放大预览
  • nodejs集成sqlite使用示例
  • jqueryif判断
  • ios异步加载图片
  • Python出现keyerror
  • jquery实现动画
  • 电子税务局查询一般纳税人资格
  • 无锡地铁时速多少公里
  • 宁夏地税领导班子名单
  • 泰兴市地方税务局
  • 国家税务总局河北地税局
  • 二手车中介公司怎么做账报税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设