CG基础

1.结合上述参考链接(或其他参考资料),谈谈自己对计算机图形学的理解。

  • 从广义上来讲,计算机图形学是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。
  • 从狭义上来讲,计算机图形学是用计算机来画图像的学科,可以说是数字图象处理或计算机视觉的逆过程。数字图象处理是把外界获得的图象用计算机进行处理的学科,计算机视觉是根据获取的图像来理解和识别其中的物体的三维信息及其他信息。
  • 计算机图形学、数字图象处理和计算机视觉在很多地方的区别不是非常清晰,很多概念是相通的,而且随着研究的深入,这些学科方向不断的交叉融入,形成一个更大的学科方向,可称之为“可视计算”(Visual Computing)。

2.结合上述参考链接(或其他参考资料),回答什么是OpenGL? OpenGL ES? Web GL? Vulkan? DirectX?

(1)OpenGL
  • OpenGL包含了一系列可以操作图形、图像的函数API。
  • OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范(Specification),规范严格规定了每个函数该如何执行,以及它们的输出值。
  • 实际的OpenGL库的开发者(这里开发者是指编写OpenGL库的人)通常是显卡的生产商,因为OpenGL规范并没有规定实现的细节,具体的OpenGL库允许使用不同的实现,只要其功能和结果与规范相匹配。
(2)OpenGL ES

OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。

(3)Web GL

WebGL是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。

(4)Vulkan

Vulkan是一个跨平台的2D和3D绘图API,针对所有平台上的高性能实时3D图形应用程序,例如视频游戏和交互式媒体,最早由Khronos组织在2015年游戏开发者大会(GDC)上发表。旨在替代OpenGL,提高图形性能。

(5)DirectX

DirectX,(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口。由C++实现,遵循COM。被广泛使用于Microsoft Windows、Microsoft XBOX、Microsoft XBOX 360和Microsoft XBOX ONE电子游戏开发,并且只能支持这些平台。

它们旨在使基于Windows 的计算机成为运行和显示具有丰富多媒体元素(例如全色图形、视频、3D 动画和丰富音频)的应用程序的理想平台。DirectX 包括安全和性能更新程序,以及许多涵盖所有技术的新功能[应用程序可以通过使用DirectX API 来访问这些新功能。

3.gl.h glu.h glew.h的作用分别是什么?

  • gl是OpenGL中的核心库,包含了最基本的3D函数,总共包含有115个函数,函数名的前缀为gl,这部分函数用于常规的、核心的图形处理。此函数由gl.dll来负责解释执行。由于许多函数可以接收不同数以下几类。据类型的参数,因此派生出来的函数原形多达300多个。
  • glu是实用库,是对gl的部分封装,总共包含有43个函数,函数名的前缀为glu,这部分函数减轻繁重的编程工作,封装了OpenGL函数,glu函数通过调用核心库的函数,为开发者提供相对简单的用法,实现一些较为复杂的操作。此函数由glu.dll来负责解释执行。
  • glew 是一个跨平台的C++扩展库,基于OpenGL图形接口。因为window目前只支持OpenGL1.1的函数,但 OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最新的扩展,而且不同的显卡公司,也会发布一些只有自家显卡才支持的扩展函数,要想用这数涵数,不得不去寻找最新的glext.h。而GLEW能自动识别平台所支持的全部OpenGL高级扩展函数。也就是说,只要包含一个glew.h头文件就能使用gl,glu,glext,wgl,glx的全部函数。

4.使用GLFW和freeglut的目的是什么?

  • GLFW是一个跨平台的OpenGL应用框架,因为OpenGL没有窗口管理的功能,所以GLFW有支持窗口创建,接受输入和事件等功能。
  • freeglutGLUT的一个完全开源替代库,因为GLUT已经很老了,而且该项目似乎已经被废弃,所以需要有一个新的来代替它。
  • 这两个都是用来帮助我们管理窗口、读取输入、处理事件。GLFW相比于freeglut更加轻量级。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值