首页 > 其他分享 >计算机图形学与GPU渲染 -- 什么是计算机图形学

计算机图形学与GPU渲染 -- 什么是计算机图形学

时间:2023-06-08 19:34:03浏览次数:48  
标签:计算机 -- 模型 图形学 ISO 软件 图形

一: 定义

  关于计算机图形学的定义众说纷纭。IEEE 对计算机图形学的定义为:Computer graphics is the art or science of producing graphical images with the aid of computer。
  国际标准化组织 ISO 将计算机图形学定义为:计算机图形学是一门研究通过计算机将数据转换成图形,并在专门显示设备上显示的原理方法和技术的学科。它是建立在传统的图学理论、应用数学及计算机科学基础上的一门边缘学科。
  总而言之计算机图形学是研究怎样利用计算机来显示、生成和处理图形的原理、方法和技术的一门学科,这里的图形是指三维图形的处理。

二:计算机图形学发展史

20 世纪 50 年代:1950 年,美国 MIT 的旋风一号(whirlwind I)计算机配备了世界上第一台显示器——阴极射线管(CRT)来显示一些简单的图形,使得计算机摆脱了纯数值计算的单一用途,能够进行简单的图形显示,从此计算机具有了图像显示功能,但是还不能对图形进行交互操作,这时的计算机图形学处于准备和酝酿时期,并称之为“被动式”图形学。

50 年代末期,MIT 的林肯实验室在“旋风”计算机上开发 SAGE(Semi-Automatic GroundEnvironment System)空中防御体系。SAGE 于 1957 年投入试运行,已经能够将雷达信号转换为显示器上的图形并具有简单的人机交互功能,操作者使用光笔点击屏幕上的目标即可获得敌机的飞行信息,这是人类第一次使用光笔在屏幕上选取图形。1959 年,麻省理工学院林肯实验室第一次使用了具有指挥和控制功能的 CRT,“被动式”图形学开始迈向交互式计算机图形学。

20 世纪 60 年代:1962 年美国 MIT 林肯实验室的 Ivan E.Sutherland 发表了一篇题为“sketchpad:一个人机交互通信的图形系统”的博士论文,首次使用了“Computer Graphics”这一概念,证明了交互式计算机图形学是一个可行的、有应用价值的研究领域,从而确立了计算机图形学正式成为一个独立学科的分支。1968 年 Ivan E. Sutherland 又发表了《头戴式三维显示器》的论文,在头盔的封闭环境下,利用计算机成像的左右视图匹配,生成立体场景,使人置身于虚拟现实中。Ivan E. Sutherland 为计算机图形学技术做出了巨大的贡献,被称作计算机图形学的开山鼻祖,1988 年 Ivan E. Sutherland 被授予 A.M 图灵奖。并且这一时期,光栅图形学算法开始萌芽。

20 世纪 70 年代:图形学在这一时期进入了兴盛期,光栅图形学算法迅速发展,区域填充、裁剪、消隐等概念及其相应算法纷纷被提出,实用的 CAD 图形系统也开始出现。除此之外,真实感图形学和实体造型技术的产生也是 70 年代计算机图形学的两个重要进展。1970年 J. Bouknight 在 ACM 上发表论文,提出了第一个光反射模型1,指出物体表面朝向是确定物体表面上一点光强的主要因素,并用 Lambert 漫反射定律计算物体表面上各多边形的光强,对光照射不到的地方用环境光代替。1971 年 Henri Gouraud 在 IEEE Trans.Computer 上提出被称为 Gouraud 明暗处理的“漫反射模型+插值”思想,对多面体模型,用漫反射模型计算多边形顶点的光亮度,再用增量法插值计算多边形的其他内部点2。1975 年 Phong 在ACM 上发表论文提出了著名的简单光照模型“Phong 模型”,Phone 模型虽然只是一个经验模型,但其真实度已经达到了较好的显示效果。这些都是真实感图形学最早的开创性工作。从 1973 年开始,相继出现了英国剑桥大学 CAD 小组的 Build 系统、美国罗彻斯特大学的PADL-1 系统等实体造型系统,这些都为 CAD 领域的发展做出了重要贡献。

70 年代图形软件标准化程度提高,1974 年,ACM SIGGRAPH“与机器无关的图形技术”的工作会议的召开,提出了图形软件标准化问题,ACM 成立图形标准化委员会,制定“核心图形系统”(core graphics system),ISO 发布 CGI、CGM、GKS、PHIGS 一系列的图形标准,其中 19777 年的 CKS 是 ISO 批准的第一个图形软件标准软件,是一个二维图形软件标准,1986 年,ISO 公布了程序员级的分层结构交互图形系统 PHIGS,这是一些非官方的图形软件,广泛应用于工业界并成为事实上的标准,PHIGS 是对 CKS 的扩充,增加的功能有对象建模、彩色设定、表面绘制和图形管理等。伺候 PHIGS 的扩充成为 PHIGS+;1988年的 CKS3D,是 ISO 批准的第二个图形软件标准软件,是一个三维图形软件标准。

20 世纪 80 年代以后:出现了带有光栅扫描显示器的微型计算机和图形工作站,极大的推动了计算机图形学的发展,如 Machintosh、IBM 公司的 PC 及其兼容机,Apollp、Sun 工作站等。随着奔腾 III 和奔腾 IV 系列 CPU 的出现,计算机图形软件功能一开始部分地由硬件实现。高性能显卡和液晶显示屏的使用,高传输率大容量硬盘的出现,特别是 Internet 的普及使得微型计算机和图形工作站在运算速度、图形显示细节上的差距越来越小,这些都为图形学的飞速发展奠定了物质基础。1980 年 Turner Whitted 提出了光透视模型,并第一次给出光线跟踪算法的范例4,实现了 Whitted 模型;1984 年美国 Cornell 大学和日本广岛大学的学者分别将热辐射工程中的辐射度算法引入到计算机图形学中,用辐射度的方法成功地模拟了理想漫反射表面间的多重漫反射效果。以上二者的提出,标志着真实感图形的显示算法已逐渐成熟。80 年代中期以后,超大规模集成电路的发展,计算机运算能力的提高,图形处理速度的加快,促使了图形学各个研究方向都得到了充分发展和广泛的应用。

20 世纪 90 年代以后:微机和软件系统的普及使得图形学的应用领域日益广泛,计算机图形学朝着标准化、集成化和智能化的方向发展,多媒体、人工智能、计算机可视化、虚拟现实等分支蓬勃发展,三维造型也获得了长足发展。ISO 公布的图形标准越来越精细,更加成熟。这是存在着一些事实上的标准,如 SGI 公司开发的 OpenGL 开放式三维图形标准,微软公司为 PC 游戏开发的应用程序接口标准 DirectX 等,Adobe 公司 Postscript 等,均朝着开放式、高效率的方向发展。

标签:计算机,--,模型,图形学,ISO,软件,图形
From: https://www.cnblogs.com/edver/p/17467462.html

相关文章

  • AtCoder Beginner Contest 240 D
    D-StrangeBallstag:栈模拟发现自己隔了快半年再做此题看错相同数字的球消失的条件,不是\(k\geq2\)而是\(k=a_i\)电子竞技不需要视力题意:当球\(a_i(1\leqi\leqN)\)有\(a_i\)个一起出现时,这\(a_i\)个球就会消失,问每次放一个球进去,放进去后还剩多少个球?用个......
  • 用Mathematica和SciPy阐明Jacobi椭圆函数的定义方法
    这,这个,那,那个Jacobi椭圆函数SN和CN类似于三角函数正弦和余弦。它们出现在非线性振动和保形映射等应用中。不幸的是,定义这些函数有多种约定。这篇文章的目的是澄清围绕这些不同公约的混淆。上面的图像是函数sn[1]的一个图。模量、参数和模数角Jacobi函数有两个输入。我们通常认为Jac......
  • Java 表单注册常用正则表达式验证工具类
    http://springmvc-springdata.iteye.com/blog/2114555Java表单注册常用正则表达式验证工具类,常用正则表达式大集合。1.电话号码2.邮编3.QQ4.E-mail5.手机号码6.URL7.是否为数字8.是否为中文9.身份证10.域名11.IP。。。。常用验证应有尽有!这的确是您从事web开发......
  • jQuery 事件绑定方法 bind
    jQuery事件绑定方法(bindhovertogglelive....)、删除事件方法(unbind,die)及事件对象事件绑定方法:1.<type>(function)$("button").click(function(){...});2.bind(map)$("input[type='text']").bind({focus:function(){.......
  • MyEclipse的使用和程序的断点调试(含常用快捷键)
    MyEclipse的使用     工作空间目录是纯英文不带空格的路径     在eclipse下Java程序的编写和运行,及java运行环境的配置。     新建java工程day01,在弹出窗口中可配置jre     工程右键属性可配置编辑器的版本    调试程序     Debug窗口       ......
  • 资源打包分享
    资源下载链接:www.cikezy.cn资源下载链接:www.cikezy.cn资源下载链接:www.cikezy.cn资源下载链接:www.cikezy.cn资源下载链接:www.cikezy.cn资源下载链接:www.cikezy.cn以上所有资源下载链接:www.cikezy.cn......
  • 【转载】xsd文件验证xml的java实现
    importjava.io.File;importjava.io.IOException;importjavax.xml.transform.Source;importjavax.xml.transform.stream.StreamSource;importjavax.xml.validation.Schema;importjavax.xml.validation.SchemaFactory;importjavax.xml.validation.Validator;i......
  • 如何使用 Blazor 保存设置到客户端?
    话不多说,直接上代码添加服务类,完整代码比较长,放到文章最后publicinterfaceICookie{publicTaskRemoveValue(stringkey);publicTaskSetValue(stringkey,stringvalue,int?days=null);publicTask<string>GetValue(stringkey,stringdef="......
  • wpf中元素的Visibility和IsVisible出现矛盾的情况
    ui<StackPanelMargin="5"><Borderx:Name="bd1"><TextBlockName="tb1"Text="123"/></Border><Buttonx:Name="btn1"C......
  • 类加载器
    一、介绍实现通过类的权限定名获取该类的二进制字节流的代码块叫做类加载器。二、作用负责将.class文件(存储的物理文件)加载到内存中三、类加载的分类1.分类Bootstrapclassloader:虚拟机的内置类加载器,通常表示为null,并且没有父nullPlatf......