计算机图形学介绍

news/2024/10/18 14:24:16/
计算机图形学各个领域的目标或许不同,但最终的形式都是渲染(即绘制)在二维的显示设备上的图像。下面是一个简单(可能并不完全)的分类:
计算机图形学-领域及分支:
1 绘制
1.1 真实感绘制(非实时)
1.1.1 光线追踪(Ray-tracing)
1.1.2 全局光照(Global Illumination)
......
1.2 实时绘制
1.2.1 Shading(BRDF, Programmable Shading等)
1.2.2 纹理(Texture Synthesis, 反走样, 采样等)
1.2.3 阴影和环境光照(Ambient Occlusion, Shadow Volume等)
1.2.4 基于图像的算法(HDR, Depth of Field, Motion Blur等)
1.2.5 光照算法(PRT, 球面谐波(Spherical Harmonic)等)
......
2 建模
2.1 曲面/曲线(Bézier曲线, B样条(B-Spline), 细分曲面(Subdivision Surface/Tessellation))
2.2 网格(Mesh)及形变(Morphing)
2.3 模型修复及重建(计算机视觉交叉方向)
......
3 物理模拟
3.1 刚体碰撞模拟
3.2 流体模拟(烟 火 水)
3.3 柔体模拟(布料 头发 皮肤 橡胶等)
......
4 动画
4.1 关键帧技术(keyframe)
4.2 基于物理的动画(Human motion capture, character animation等)
......
5 科学计算可视化
5.1 标量场可视化(Isosurface和体绘制 Raycasting等)
5.2 矢量场可视化(Flow visualization等)
5.3 信息可视化(如Social-Network Link Graph等)
......
6 延展和相关领域
6.1 图形硬件和GPU Computing(利用GPU进行普适的并行计算)
6.2 计算摄影学Computational Photography(图像处理和图形学的结合)
6.3 计算机视觉Computer Vision(是计算机图形学的逆向学科 如何从二维图像和视频中提取三维空间信息和内容理解)
6.4 大规模数据分析(大规模数据的可视化及物理模拟 如天气 洋流 社交网络信息等)
6.5 游戏引擎(是实时绘制+建模+物理模拟+动画的集合体)
6.6 电影动画及特效(是真实感绘制+建模+物理模拟+动画+计算机视觉等的集合体)
6.7 编译器及编程模型(GPU Shading Language语言设计及并行编程模型)
......
参考资料:
[1] Real-Time Rendering, Third Edition
[2] Physical-based Rendering, Second Edition
[2] The Visualization Hand Book
这个分类一定还不够完全,欢迎各位同仁指出不完备之处。不过提问者可以通过上面的表大概了解图形学的研究内容。至于未来的发展趋势,我个人从事的图形硬件和并行计算我认为是一个很有前景的方向。另外几乎在每个我所列出的领域内都有迷人而艰难的未解决的问题。在图灵奖历次获奖者中,和计算机图形学唯一相关的就是图形学之父Ivan Sutherland。所以说,计算机图形学是一个相当年轻的学科,会有很光明的发展前途。我会在下面列出一些曾经帮助过我的参考资料和一些领域的教授页面/软件资源以 1)供提问者进一步获取信息 2)展示图形学的迷人之处:

[1] 一篇极好的介绍球面谐波的教程: cs.columbia.edu/~cs4162
[2] Gatech教授Karen Liu 主要研究动画技术: cc.gatech.edu/~karenliu
[3] TAMU教授Jin-xiang Chai 动画技术: faculty.cs.tamu.edu/jch
[4] Cornell教授Doug L. James 物理模拟: cs.cornell.edu/~djames/
[5] Stanford教授Ron Fedkiw 物理模拟: physbam.stanford.edu/~f
[6] 物理模拟的一篇Siggraph课程: matthiasmueller.info/re
[7] 微软的Hugues Hoppe 模型+纹理: research.microsoft.com/
[8] Caltech应用几何实验室: geometry.caltech.edu/ge
[9] 浙江大学GAPS实验室: gaps-zju.org/
[10] 清华大学胡事民教授实验室:  cg.cs.tsinghua.edu.cn/
[11] 中科院深先所陈宝权教授:  web.siat.ac.cn/~baoquan
[12] UC Davis教授John Owens(我的导师:-),GPU Computing: ece.ucdavis.edu/~jowens
[13] GPU Gems 1/2/3:  developer.nvidia.com/co   developer.nvidia.com/no developer.nvidia.com/co
[14] Pixar的Renderman页面:  renderman.pixar.com/
[15] 国内最好的开源游戏引擎(作者是MSRA的龚敏敏):  klayge.org/
[16] 最适宜学习引擎结构的游戏引擎OGRE:  ogre3d.org/
[17] 个人认为最好的开源的基于物理的真实感绘制引擎LuxRender:  luxrender.net/en_GB/ind
[18] 图形学界最无私的奉献者Ke-sen Huang的主页,包含历次重要图形学会议所有可公开下载论文及资料链接 向他致敬:  kesen.realtimerendering.com  

另外,上面提到的三本教材也值得一读。希望提问者能享受图形学的学习,尽快找到研究方向并作出好的成果。个人认为在拥有数据挖掘背景的前提下,提问者可以尝试在大规模数据分析和可视化或计算机视觉领域寻找感兴趣的方向,我个人有如下推荐:
[1] 社交网络分析  en.wikipedia.org/wiki/S
[2] 基于海量网络照片的三维模型重建
cs.cornell.edu/~snavely  
phototour.cs.washington.edu  
photosynth是微软的一个项目,看看埃菲尔铁塔的例子: photosynth.net/view.asp  
[3] 胡事民老师的一个非常聪明的项目,Sketch2photo:

cg.cs.tsinghua.edu.cn/m 


图形学主要是研究如何用电脑来显示和模拟人所观察到的东西的学科。只要我们还需要用电脑来做显示,那么一定会有用得到图形学的地方。

在就业方面,国内主要是游戏公司对图形学有需求,还有跨国公司在国内的分支机构,比如Autodesk,AMD,NVidea,微软亚州研究院(个人以为国内图形学最牛的人都在微软)等。国外就多了,除了游戏业,电影工业就是图形学大户,此外,和设计相关的产业(即CAD)是需求图形学的经典行业。 另外,其实可以预见的是,国内的这些产业虽然现在对图形学的需求不大,但若要赶上国外,那大量招收图形学的人才是必须的。

在科研方面,总的来说,如果从科研论文的数量上来看,做图形学的人不是很多(和计算机视觉,机器学习比,其它的我也不太了解)。但图形学与其它计算机学科相比,有一个巨大的优势就是,你做的东西的好坏都是可以直接用眼睛来判断的,不需要很多数据和图表什么的,所以不会很枯燥。

以下是我对图形学研究方向的分类:
1、真实感绘制。研究如何又快又好地绘制和真实世界一样的画面。在以前,现在和将来都是图形学的一个研究重点。
2、非真实感绘制。研究如何像人类艺术家那样绘制不真实的画面。比如水彩画、铅笔画、蜡笔画等等的绘制。
3、真实物理模拟。研究如何模拟物理现象,比如流水,火焰等等。
4、人体运动。研究如何捕捉、编辑和应用人体运动数据,如何模拟人体运动(比如当人被一个外物撞击时的动作反应,再比如一群人的群体运动模拟),如何绘制人体运动。
5、计算机照相术(Computational Photography)。我不是很了解,建议用这个词搜索一下。
6、人机交互。主要研究如何更方便地用计算机来进行三维建模。
7、计算机声音模拟。研究如何用计算机来生成真实的声音,比如两个金属碰撞的声音,复杂环境中经过反射的声音。还有一个相关领域和音乐有关,研究如何根据一段音乐自动生成舞蹈什么的。
8、计算几何。这是一个非常理论而且经典的研究方向,和数学中的几何学非常相关,研究的算法是其它图形学研究方向的基础,比如曲线曲面的表达、绘制和编辑等。按照我的理解(可能有点不准确),数学的几何学用所表达的几何概念都是连续的,而计算几何都是离散的,要把数学的几何学理论应用到图形学算法中,必须要将这些算法离散化,这一步很重要,而且也不简单。最近这个方向的研究的一个热点是几何图形的查询,比如研究如何google三维模型。
9、图形硬件。研究如何设计对图形学算法进行加速的硬件。

图形学所研究的一部分内容,采用了许多机器学习的方法,比如和人体运动,非真实感绘制相关的研究领域,这和数据挖掘还是有一定的相似性的,所以如果你选择图形学的话,还是能接触许多和数据挖掘类似的算法的。


http://www.ppmy.cn/news/383887.html

相关文章

图形API的简单了解

本文图片来自:http://www.rastertek.com/choosing.html 大多数人都希望学习图形API,以便他们可以构建自己的3D或2D图形引擎。但是,随着最近发布的许多新API的选择,使用哪种API并非一帆风顺,尤其是某些API是专门为专业用户设计的。…

centos是arm还是amd_amd系列cpu安装linux

如何在 Linux 上安装 Intel 微代码固件 linux 的内核可以在引导时更新 cpu 固件,而无需 bios 更新。 处理器的微码保存在内存中,在每次启动系统时,内核可以更新这个微码。 这些来自 intelamd 的微码的更新可以去修复 bug 或者使用补丁来防范 bug。 如果你是一个 linux 系统管…

台式计算机图形设置,如何打开计算机图形设置以提高游戏质量?

通常,图形卡主要用于控制计算机图像的输出. 实际上,视频是图片的组合. 从上讲,图形卡是图形适配器,它与外部计算机显示屏有很大的关系. 作为计算机的最基本配置和最重要的附件之一,图形卡负责输出和显示图形. 那么,很多朋友可能会有这样的问题,那就是在哪里打开显卡设置…

常用图形渲染API简介

目前比较常用的图形渲染API有如下几种: Direct3DOpenGLVulkanMetal 下面会详细的介绍各种API的特点 Direct3D Direct3D(简称:D3D)是微软公司在Microsoft Windows操作系统上所开发的一套3D绘图编程接口,是DirectX的一部分,目前广…

Unity入门8——音效系统

一、音频文件参数面板 Force To Mono:多声道转单声道 Normalize:强制为单声道时,混合过程中被标准化 Load In Background:后台加载,不阻塞主线程,适合大音效 Ambisonic:立体混响声 非常适合 36…

【005 基础知识】Linux同步机制?

一、什么是同步机制? 并发竞争本质上是多个线程对共享资源的访问存在冲突。使用同步机制(如互斥锁、信号量等),可以确保共享资源在任何时刻只有一个线程访问。如不采取必要的同步措施,将会对一些关键数据结构进行交错访问和修改,…

优秀文章总结

git jinkins 知乎 芒果文档 思否 codesheep 顶级思维 oschina weifeng 开发者头条 21c 玩点什么 五大实例 程序运行 gdb 软硬结合 野火 嵌入式驱动 设计模式 hardware 码表 amobbs fengke 大丙 linux 图标 嵌入式网站 uinio qt 慕课教程 freec jiekins自动化 电子发烧友 c/c路线…

弥合风险缺口 筑牢共享安全|2023开放原子全球开源峰会开源安全技术与实践分论坛成功举办

6 月 12 日,2023 开放原子全球开源峰会开源安全技术与实践分论坛成功举办。本场论坛围绕开源软件供应链、开源漏洞信息共享机制、开源安全测试工具、人工智能新技术对开源安全领域的影响等方向分享了技术和最佳实践,讨论了开源安全领域最新产业动态。 开…