位置: 编程技术 - 正文

Ubuntu 13.04 安装 OpenGL(ubuntu 20.4安装)

编辑:rootadmin

推荐整理分享Ubuntu 13.04 安装 OpenGL(ubuntu 20.4安装),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ubuntu20.04.1安装,安装ubuntu20.10,ubuntu20.0安装,ubuntu20.0安装,ubuntu 13.04安装教程,ubuntu20.0安装,ubuntu 13.04安装教程,安装ubuntu20.10,内容如对您有帮助,希望把文章链接给更多的朋友!

前言OpenGL 是一套由SGI公司发展出来的绘图函式库,它是一组 C 语言的函式,用于 2D 与 3D 图形应用程式的开发上。

OpenGL 让程式开发人员不需要考虑到各种显示卡底层运作是否相同的问题,硬体由 OpenGL 核心去沟通,因此只要显示卡支援 OpenGL,那么程式就不需要重新再移植,而程式开发人员也不需要重新学习一组函式库来移植程式。

接下来,我们就一步一步的在Ubuntu底下建立开发OpenGL应用程式的环境。

安装建立基本编译环境首先不可或缺的,就是编译器与基本的函式库,如果系统没有安装的话,请依照下面的方式安装:

$ sudo apt-get install build-essential 安装OpenGL Library接下来要把我们会用到的 Library 装上去,首先安装 OpenGL Library

build-essential 包含最常用的编译工具,gcc,g&#;&#;

build-essential 指的是编译程序必须的软件包。查看该软件包的依赖关系,可以看到以下内容:

$ apt-cache depends build-essential

build-essential

|依赖: libc6-dev

依赖: <libc-dev>

libc6-dev

依赖: gcc

依赖: g&#;&#;

依赖: make

依赖: dpkg-dev

也就是说,安装了该软件包,编译c/c&#;&#;所需要的软件包也都会被安装。因此如果想在Ubuntu中编译c/c&#;&#;程序,只需要安装该软件包就可以了。

$sudo apt-get install libgl1-mesa-dev安装OpenGL UtilitiesOpenGL Utilities 是一组建构于 OpenGL Library 之上的工具组,提供许多很方便的函式,使 OpenGL 更强大且更容易使用。接下来我们安装OpenGL Utilities

$sudo apt-get install libglu1-mesa-dev 安装OpenGL Utility ToolkitOpenGL Utility Toolkit 是建立在 OpenGL Utilities 上面的工具箱,除了强化了 OpenGL Utilities 的不足之外,也增加了 OpenGL 对于视窗介面支援。

$sudo apt-get install libglut-dev 注意在这一步的时候,可能会出现以下情况,shell提示:正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 E: 未发现软件包 libglut-dev如果出现上述情况,请输入将上述$sudo apt-get install libglut-dev命令改成$sudo apt-get install freeglut3-dev就行拉, 设定编译参数与编译

测试程序

#include <GL/glut.h>

Ubuntu 13.04 安装 OpenGL(ubuntu 20.4安装)

void init(void){ glClearColor(0.0,0.0,0.0,0.0); glMatrixMode(GL_PROJECTION); glOrtho(-5,5,-5,5,5,); glMatrixMode(GL_MODELVIEW); gluLookAt(0,0,,0,0,0,0,1,0); return;}

void display(void){ glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0,0,0); glutWireTeapot(3); glFlush(); return;}

int main(int argc,char *argv[]){ glutInit(&argc,argv); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutInitWindowPosition(0,0); glutInitWindowSize(,); glutCreateWindow("OpenGL #D View"); init(); glutDisplayFunc(display); glutMainLoop();

return 0;}

编译运行

gcc test.c -o test -lGL -lGLU -lglut

./test.c

-l参数表示要链接的库:在 /usr/lib目录下头文件在/usr/include/GL下:

因为我们安装了 OpenGL Utility Toolkit ,它是建立在 OpenGL Utilities 与 OpenGL Library 之上,因此我们可以简单连结 OpenGL Utility Toolkit 的函式库就可以达到我们的目地了。下面的编译参数跟上面的是同样效果

gcc test.c -o test -lGLU -lglut

接下来我们就可以来看看我们的结果,如果看到茶壶图片,代表成功了!

补充:

GLX 与显卡驱动

为了取得广泛的平台支持,OpenGL 是不依赖任何窗口系统的,但是我们使用 OpenGL 绘制的三维场景却需要嵌入在某种窗口程序中才可以为人所见。&#;乎也是约好了的,目前主流的窗口系统(X Window, MS Windows, Mac OS)只是提供了完善的二维图形交互环境,而将复杂的三维图形渲染任务交给 OpenGL (MS Windows 更热衷于用 Direct3D 来取代 OpenGL)。当 OpenGL 与窗口系统们达成了相互依存的默契之后,便出现了用于衔接 OpenGL 与窗口系统的扩展库,这些扩展库的主要目标就是实现 OpenGL 图形与对应窗口画面之间的转换。GLX 库解决了 X Window 中的 OpenGL 图形渲染问题。同样的,WGL 和 AGL 库分别解决了 MS Windows 和 Mac OS 窗口系统中的 OpenGL 图形渲染问题。

GLX 像胶水一样,建立了 X Window、OpenGL 以及 3D 硬件加速驱动之间的联系。在 Linux 中,如果未有安装相应的支持 3D 加速的显卡驱动,那么 GLX 可以调用 Mesa (Unix-like 系统中应用最为广泛的 OpenGL 实现) 的 3D 软件加速来取得 X Window 与 OpenGL 的集成;当然,这种做法所实现的 3D 渲染效率就要大打折扣,并且也会累的 CPU 气喘。多了解一下 X Window 是如何驱动硬件 3D 加速,可以更加深刻的理解 GLX 的工作机理。不过,目前这方面的文档实在太少了,下面文字仅仅是我个人的猜测(和 galeki 有过一番议论),方家路过,还请指正。

目前,Nvidia 和 ATI 这两大主流显卡均面向 Linux 提供了驱动程序,但是它们的做法不相同。Nvidia 驱动提供了自己的 GLX 库,在安装驱动时,会替换掉 X Window 的标准 GLX 库,另外也会将 Mesa 提供的并且只具备 3D 软件加速支持的 libGL 库替换为自己的 libGL 库。Nvidia 驱动还会提供一个 Linux 内核模块,这样可以让 X Window 通过内核访问显卡的帧缓冲区。与 Nvidia 驱动相比, ATI 则显得比较规范(此处不论其驱动的质量优劣),它利用 DRI &#; Mesa 来实现 3D 硬件加速,而不是像 Nvidia 驱动那样,什么都是自己去实现。最近,ATI 的开源 3D 加速驱动也渐渐浮出水面,以后买显卡,得多考证考证 ATI 了。

GLX 的版本

目前,应该有 5 个版本,从 1.0 到 1.4,其中比较应用比较广泛的是版本是 1.2,GtkGLExt 所使用的 GLX 库就是这一版本(据说是为了获得跨平台支持不得己而为之)。Nvidia . 提供的 GLX 版本是 1.4,至于 X Window 默认的 GLX 版本,我不清楚。GLX 是向后兼容的,因此,目前许多 X Window 程序使用 GLX 1.2 也是可以正常运行。GLX 1.3 是变动幅度比较大的版本,但是介绍它如何在编程中使用的文档很稀有。下面对一个 GLX 1.2 的编程示例略作修改,权当 GLX 1.3 &#; Xlib 的编程实例,而至于该实现是否正确,不敢保证。

OpenGL深度学习资源收藏 OpenGL版本发展历史:

计算机图形学——OpenGL基本使用 一、项目要求利用OpenGL绘制一个基本场景,加入灯光,实现交互操作。二、开发环境采用MicrosoftVisualC集成环境并用C编写程序三、总体介绍使用OpenGL

GLES 顶点缓冲区对象(VBO) 可能大家经常从别人口中听到VBO,不知道是什么意思,觉得高大上的样子,但是如果知道中文名称,应该能明白一二。VBO,即顶点缓冲区对象。使用顶

标签: ubuntu 20.4安装

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

上一篇:深度缓存 3d效果(深度缓冲)

下一篇:OpenGL深度学习资源收藏(opengl深度值与z值)

  • 进项税额转出补交税款
  • 清算缴纳企业所得税
  • 公司支付宝收款二维码怎么弄
  • 收回的伙食费计什么科目
  • 期初未缴税额本年累计是什么意思
  • 月末进项税额转出科目需要结转吗
  • 分公司企业所得税汇总缴纳还是单独缴纳
  • 佣金开什么发票
  • 销售免税药品要进项税额转出吗
  • 交易性金融资产公允价值变动计入
  • 电影剧本稿费代扣代缴个人所得税如何处理?
  • 用友如何取消月末结转
  • 成品油购进数据未同步怎么办
  • 承兑贴现利息怎么入账
  • 进项税申报但未抵扣
  • 金蝶标准版结转损益发生错误
  • 商品税目编码表查询
  • 已抵扣的发票怎么开红字发票申请单
  • 电梯维护费怎么做账
  • 所得税费用按月还是按年算
  • 增值税的计征方法有哪些
  • 商业承兑汇票到期日付款人账户不足付款时
  • 借给其他公司借款会计分录
  • 公司奖励员工旅游怎么做账
  • 税控盘280减免申报
  • 推广服务费收入如何核算成本
  • 取得失控发票
  • 公司财产损失会不会必然导致股权损失
  • 出售使用过的设备
  • win11 恢复
  • 委托外单位加工发出的材料分录
  • 出售固定资产减按2%会计处理1%怎么处理
  • 录入财务凭证
  • 本部借给分公司的钱用交印花税吗
  • 税收返还需要缴纳什么税
  • 材料采购运杂费包括
  • 跨站脚本攻击是什么
  • 伊吕波赛道
  • react组件定义
  • yolov5官方
  • 长期待摊费用装修款如何摊销
  • 公司转让债权人怎么办
  • 有净残值的固定资产如何折旧
  • 商业企业会计如何记账
  • 实行核定征收印花税
  • mongodb reactive
  • 机动车统一发票怎么开
  • 一般纳税人的增值税税率
  • 坏账损失的定义
  • 评估价与成交价差距叫做什么
  • 还借款收据怎么写
  • 减免的税金怎样做会计分录
  • 抵债资产处置账务实例
  • 土地补贴款是什么意思
  • 待认证进项税额和待抵扣进项税额的区别
  • 开给个人的普通增值税
  • win10 rs5
  • linux中的vim命令的功能
  • win7自带的多媒体播放程序是什么
  • linux系统的安全机制有哪些
  • WIN764位系统8G内存识别一半解决办法
  • Win8.164位/32位KB3096053补丁下载 主要修复KB3069114安装问题
  • nmstt.exe - nmstt是什么进程 有什么用
  • win7系统所有软件打不开
  • win8和win10双系统安装教程
  • 微软为什么这么贵
  • Win10 Build 14279正式推送 更新后QQ可能会崩溃
  • 如何使用灭火器
  • bootstrap响应式工具使用详解
  • 编程语言javascript
  • css样式分为
  • javascript的描述
  • javascript的理解
  • node js作用
  • nodejs 函数
  • node作为中间件做接口转发
  • python编程快速
  • 公司车辆购置税怎么做账
  • 内蒙古电子税务局登录入口官网
  • 税务打虚打骗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设