计算机图形学的学习

图形学系列 -- 关于计算机图形学的学习
作者: 刘鹏
日期: 2010-02-24
本文根据 szlongman 的博文 "关于计算机图形学的学习" 整理、扩充而来,主要介绍了计算机图形学的学习,以及一些参考书目、研究组织、牛人和网络资源。
引言

什么是计算机图形学? 本文尽量避免给它做严格的定义,但是通常来说,计算 机图形学是数字图象处理的逆过程,这只是一个不确切的定义,后面我们会看到, 实际上,计算机图形学、数字图象处理和计算机视觉在很多地方的区别不是非常 清晰的,很多概念是相通的。

计算机图形学是用计算机来画东西的学科,数字图象处理是把外界获得的图象用 计算机进行处理的学科。在法国,图形图象是一门课程。

如何学习计算机图形学呢?除了计算机图形学的基础知识以外,你还需要有以下 的知识,你懂的越多,当然做的越好。

  • 英语, 你一定要把英语学好,如果你想学习计算机图形学的话,尽量看英文 的书籍和资料;
  • 数学,计算机图形学里面的数学用的比较多,,我们可以列举一些常用的:高等数学,数值分析,微分几何,拓扑,概率,插值理论,(偏)微分方程…
  • 物理,如果你要进行基于物理的建模,一些物理理论是要学习的:力学(运动学,动力学,流体力学…),光学,有限元…
  • 编程语言:C或C++是计算机图形学最通用的‘普通话’;
  • 数据结构:你需要数据结构来描述你的图形对象,除了通用的链表、树等数据结构外,图形学还有自己特殊的数据结构
  • 其他类别:有的时候你需要其他学科的知识,根据你的需要去学习吧

上面列举的不是你必须学习的东西,而是计算机图形学可能会用到的东西,一定要记住,不要指望通过一本教材就学会计算机图形学,它比你想象的要复杂的多。

图形学的问题

每个学科都有自己学科的特定问题,图形学要解决的是如何画出图来,得到需要 的效果,当然这是图形学最大的一个问题。

入门

在开始学习计算机图形学的时候,找一本简单的书看,对计算机图形学有个大概的认识,你就可以开始图形学之旅了:

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.4, Fourth Edition
OpenGL SuperBible (3rd Edition)

是比较好的学习计算机图形学的入门教材,在练中去学,一开始就去啃。

Foley的

Computer Graphics: Principles and Practice, Second Edition in C

不是好主意,会看的一头雾水,一本什么都讲的书的结果往往是什么都没讲清楚。 当你把OpenGL的基本内容掌握之后,你对图形学就有了大概的了解了。

那么下面你可以来学习一下计算机图形学的数据结构和算法,下面的书比较适合,Joseph O'Rourke 的

Computational Geometry in C

书里面有C的源代码,讲述简单,清晰,适合程序员学习。

建模与渲染

总的来说,计算机图形学涉及到2大部分:建模和渲染。

建模

你想画一个东西,首先要有它的几何模型,那么这个几何模型从什么地方来呢? 下面的书很不错的,

Curves and Surfaces for CAGD: A Practical Guide. Gerald Farin

这本书就有一点的难度了,呵呵,要努力看啊。 它是 CAGD (计算机辅助几何设 计)的经典图书,CAGD 方面的全貌,还有两本很好的讲述曲面的书 Bezier 和 Nurbs 的书:

The Nurbs Book, Les A. Piegl, Wayne Tiller

书里面有 NURBS 曲线、曲面的程序伪代码,很容易改成C的,书讲的通俗、易懂,但是你要有耐心看的:)

曲线与曲面的数学

这本书是法国人写的中文翻译版,里面还有Bezie本人写的序J,翻译的很不错的, 看了你就掌握 Bezier 曲面技术了。

还有其他的一些造型技术,比如:

隐式曲面(Implicit Surface)的造型:就是用函数形式为 F( x ,y ,z ) = 0 的曲面进行造型,这样的造型技术适合描述动物器官一样的肉乎乎的东西,有2 本书推荐大家:

Introduction to Implicit Surfaces. Jules Bloomenthal

是一本专著,讲述了 Implicit Surface 建模型(Modeling),面片化 (Polygonization),渲染(Rendering)的问题。

Implicit Objects Computer Graphics. Luiz Velho

也是一本专著,讲述个更新的一些进展。

细分曲面(Subdivision Surface)造型:当用 NURBS 做造型的时候,曲面拼接 是复杂的问题,在动画的时候,可能产生撕裂或者褶皱,Subdivision Surface 用来解决这个问题。

Subdivision Methods for Geometric Design: A Constructive Approach. Joe Warren

就是这方面的专著。

从实际物体中得到造型:现在的技术可以用三维扫描仪得到物体表面的点,然后 根据这些点把物体的表面计算出来,称为重建(Reconstruction),因为这些技术 之在文章中论述,所以我们省略对它的描述。

在你的几何模型做好之后,有一些问题需要对这个模型进一步处理,得到适合的 模型,当面片很多的时候,或者模型很复杂的时候,需要对几何模型进行简化, 才可以满足一些实时绘制的需要,这个技术叫做层次细节(LOD-Level of Detail)。下面的书就是讲这个的:

Level of Detail for 3D Graphics. David Luebke

渲染

有了模型,怎么把这个几何模型画出来呢?这个步骤就是渲染啦。

如果你看了上面的 OpenGL 的书,那么你就知道一些渲染的知识了,但是别高兴 的太早,OpenGL 使用的是局部光照模型(Local Illumination Model),不要 被这个词吓住了。

Local illumination Model 指的是在做渲染的时候只考虑光源和物体之间的相 互作用,不考虑物体和物体之间的影响,所以 OpenGL 不支持阴影,一个(半) 透明物体的效果..,这些需要考虑物体之间的影响才可以实现。

虽然 OpenGL 本身不支持,但是通过一些方法可以实现的:),用 Google 搜索 一下 Shadow Volume, OpenGL 就找到答案啦。

Global Illumination Model 这类模型考虑的就比较全啦。现在关于 Global Illumination 的技术有 3 大类,具体的技术就不在这里介绍了,如果想了解,可 以联系我,大家一起讨论。

光线追踪(Ray Tracing)

关于Ray Tracing的好书有2本:

An Introduction to Ray tracing. Andrew Glassner

Glasser 是图形界的名人,这本书也是 Ray Tracing 的经典。

Realistic Ray Tracing, Second Edition. R. Keith Morley, Peter Shirley

这本书第一版是伪代码,第二版是C代码。它的结构不是很清楚,虎头蛇尾的感 觉。

辐射度(Radiosity)

关于Radiosity的好书有4本:

Radiosity and Realistic Image Synthesis. Michael Cohen

Cohen获得 SIGGRAPH 1998 计算机图形学成就奖,他把 Radiosity 变成实际可 用,现在 Cohen 在 MSR 图形组。

Radiosity and Global Illumination. Francois X. Sillion

Sillion 是法国人,他的主要研究方向是 Radiosity,这本书写的很不错的,非 常清晰。

Philip Dutre 的新书

Advanced Global Illumination

看起来还不错,刚拿到手,还没看,呵呵,所以不好评价。

Radiosity: A Programmer's Perspective. Ian Ashdown

有源代码的书啊!! 就凭这个,得给5*****。

Photon mapping

这个我也不知道怎么翻译,呵呵。这个技术出现的比较晚,一本好书!

Realistic Image Synthesis Using Photon Mapping. Henrik Wann Jensen

Henrik Wann Jensen是Photon mapping技术的发明者

这些也是图形学吗
非真实性图形学(Non-Photorealistic Graphics

真实性不是计算机图形学的唯一要求,比如:你给我画一个卡通效果的图出来, 或者我要用计算机画水彩画怎么办?或者:把图象用文字拼出来怎么做?,解决 这些问题要用到非真实性图形学, 好书继续推荐!!!

Non-Photorealistic Rendering. Bruce Gooch, Amy Ashurst Gooch

体图形学(Volume Graphics)

用CT机做很多切片(比如头骨),那么能通过这些切片得到3D的头骨吗?Volume Graphics就是解决这样的问题的

Volume Graphics. Min Chen

上面的2个图形学技术就和图象的界限不明显了,实际上他们是图形图象的综合。

CMU 图形学开设课程简介
关于实时渲染和 Shader 的书2
Essential Mathematics for Games and Interactive Applications, Jim Van Verth and Lars Bishop, ISBN 1-55860-863-X

GPU Gems, edited by Randima Fernando.

Collision Detection, by Gino van den Bergen (table of contents)

Game Physics, by Dave Eberly (companion web site)

ShaderX2: Introductions and Tutorials with DirectX 9, edited by Wolfgang F. Engel (table of contents)

ShaderX2: Shader Programming Tips and Tricks with DirectX 9, edited by Wolfgang F. Engel

Essential Mathematics for Games and Interactive Applications, by Jim Van Verth and Lars Bishop, Sept. 2003

Graphics Programming Methods, edited by Jeff Lander, July 2003

Real-Time 3D Terrain Engines Using C++ and DirectX 9 , by Greg Snook, June 2003
3D Computer Graphics: A Mathematical Introduction with OpenGL, by Samuel R. Buss, June 2003 (sample code, etc.)

Advanced 3D Game Programming with DirectX 9.0, by Peter Walsh and Adrian Perez, April 2003.

The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics,
by Randima Fernando and Mark J. Kilgard, February 2003
(Sample chapters and more, Gamasutra excerpt)

Game Programming Tricks of the Trade, by Lorenzo Phillips, Sept. 2002

Direct3D ShaderX: Vertex and Pixel Shader Tips and Tricks, by Wolfgang F. Engel
(Table of Contents and more; Introduction; Samples 1 & 2),2002

The OpenGL Extensions Guide, by Eric Lengyel (table of contents and sample, in-depth table of contents)

3D Games, Volume 2: Animation and Advanced Real-Time Rendering, by Alan Watt and Fabio Policarpo
(their Fly3D SDK is online), 2003

Game Programming Gems 3, edited by Dante Treglia and Mark DeLoura,
2002 (see the series web site for upcoming volumes)

Geometric Tools for Computer Graphics, by Philip Schneider and David Eberly, Sept. 2002 (companion web site)

Focus On 3D Terrain Programming, by Trent Polack, Dec. 2002 (comes with CD; Publisher's description)

Vector Game Math Processors, by James C. Leiterman, Dec. 2002.

3D Math Primer for Graphics and Game Development, by Fletcher Dunn and Ian Parberry, Dec. 2002.
(more information at their site)

Fundamentals of Computer Graphics, by Peter Shirley, July 2002

Real-Time Shading, by Marc Olano et al., July 2002

Level of Detail for 3D Graphics, by David Luebke et al., July 2002 (companion web site)

Advanced 3D Game Development with OpenGL, by David Byttow and Ryan Parker, 2002
Real-Time Shader Programming, by Ron Fosner, Dec. 2002

Jim Blinn's Corner: Notation, Notation, Notation, by Jim Blinn, July 2002

Software Optimization Cookbook, by Richard Gerber, March 2002

Real Time Rendering Tricks and Techniques in DirectX, by Kelly Dempski, 2002

Texturing & Modeling: A Procedural Approach, 3rd Edition, by David Ebert et al., 2002 (companion web site)

Special Effects Game Programming with DirectX 8.0, by Mason McCuskey, 2002

Non-Photorealisting Computer Graphics, by Thomas Strothotte and Stefan Schlechtweg, June 2002 (companion web site)

Mathematics for 3D Game Programming & Computer Graphics, by Eric Lengyel, 2001

Game Programming Gems 2, edited by Mark DeLoura (Table of Contents and introduction), 2001

OpenGL Game Programming, by Kevin Hawkins and Dave Astle (source code), 2001

Subdivision Methods for Geometric Design: A Constructive Approach, by Joe Warren and Henrik Weimer, 2001
(companion web site and publisher's web site)

Non-Photorealistic Rendering, by Gooch and Gooch, 2001

Computer Animation: Algorithms and Techniques, by Richard Parent, 2001

Practical Algorithms for 3d Computer Graphics, by R. Stuart Ferguson, 2001

Game Programming Gems, edited by Mark DeLoura (Table of Contents and code updates), 2000

Game Engine Design: A Practical Approach to Real-Time Computer Graphics, by Dave Eberly (his code is online), 2000

3D Games, Volume 1: Real-time Rendering and Software Technology, by Alan Watt and Fabio Policarpo
(their Fly3D SDK is online), 2000

3D Graphics Programming: Games and Beyond, by Sergei Savchenko, 2000

Computational Geometry: Algorithms and Applications, by deBerg, Van Kreveld, Overmars, and Schwarzkopf, 2000

Computer Graphics Using OpenGL by F.S. Hill, Jr., 2000 (Table of Contents and sample chapter)

3D Game Engine Design, by David Eberly, Jan. 2001 (companion web site)

Essential Mathematics for Computer Graphics Fast, by John Vince,
Oct. 2001

Computer Graphics Through Key Mathematics, by Huw Jones, May 2001

Mathematics for Computer Graphics Applications, by Michael Mortenson, 1999

SIGGRAPH: 图形学研究人员的圣地

SIGGRAPH(the ACM—Association for Computer Machinery—Special Interest Group on Computer Graphics),国内学术界一般都简称为国际图形学年会,至 今已有三十多年的历史了。它被公认为是全球计算机图形学研究领域最负盛名的 会议,每年参加会议的人数超过4万人,入选的40-50篇论文是从300-400篇优秀 论文中精选出来的。

在 Siggraph 上发表自己的论文,是每一个从事图形图像学研究的人所梦寐以求 的荣誉,因为只有在图形图像研究方面做出最尖端、最新锐、最令人激动的新发 明、新创造的人,才有机会在 Siggraph 大会上作报告。

浙江大学彭群生教授在 1988 年,与研究生邵敏之合作撰写的有关光能辐射度新 方法的论文被美国 SIGGRAPH'88 录用,从而实现了中国学者在这一国际最权威 的图形学学术会议上"零"的突破。

SIGGRAPH 历年论文情况如下所示:

Michael F. Cohen 及其论文

Michael F. Cohen 是微软研究院的高级研究员,他在 Siggraph 1998 上赢得了计算 机图形成就奖,他的主要贡献是把辐射度(Radiosity)变成实际可用。

http://research.microsoft.com/en-us/um/people/cohen/

Hugues Hoppe 及其论文

Hugues Hoppe 是微软研究院的高级研究员,他在 Siggraph 2004 上赢得了计算 机图形成就奖,他赢得该成就奖是因为其在表面重建(surface reconstruction)、 渐进网格(progressive meshes)、几何纹理和几何图像方面进行了先驱性的工作。 他就渐进网格所发表的研讨论文在计算机图形领域最广泛被引用,影响也最为深 远。网格参数化对于映射纹理图像到表面上至关重要,极大地增强了可视细节和 质量。

他的绝大多数论文都可在其个人网站上下载,另外很有很多 demo, talks 等。

http://research.microsoft.com/en-us/um/people/hoppe/

还有其它书吗

一个讲学习 3D 的理念性教程:To Those Learning 3D,内容包括 First Things First, Be an Artist 等。

http://glenmoyes.com/articles/to_those_learning_3d.shtml

还有一些好书啊,呵呵,好书看不完的:),继续放送:

Graphics Gems I ~ V

一大帮子人写的书,包括研究人员,程序员…,有计算机图形学的各种数据结构, 编程技巧。

Tomas Akenine-Moller 等人编著的

Real-Time Rendering (2nd Edition)

许多最新的计算机图形学进展。

David Ebert 等人的

Texturing & Modeling: A Procedural Approach, Third Edition

讲述如何通过程序实现纹理、山、地形等图形学要素 。

F. Kenton Musgrave 号称分形狂(Fractal Mania),Ken Perlin 就是 Perlin 噪声的发明者,用过 3d 软件的人对 Perlin Noise 不会陌生的。

关于图形学的特定对象,有特定的专题图书:

Evan Pipho Focus On 3D Models

对于图形学的常用模型格式,进行了讲解;

  • Trent Polack的 Focus On 3D Terrain Programming 讲地形的;
  • Donald H. House 的 Cloth Modeling and Animation 讲布料的;
  • Nik Lever 的 Real-time 3D Character Animation with Visual C++ ,讲角色动画的。
  • Richard Parent的 Computer Animation: Algorithms and Techniques,当 然是讲动画的啦,呵呵;
  • David H. Eberly 的 3D Game Engine Design : A Practical Approach to Real-Time Computer Graphics ,有代码的啊!呵呵:)

最后,没事情的时候,看看下面的书吧:

Alan H. Watt, 3D Computer Graphics (3rd Edition)

James D. Foley等人的 Computer Graphics: Principles and Practice in C (2nd Edition) ,这本圣经没事的时候再看吧,呵呵

从哪里找到这些书啊

我保证,上面的书在 www.amazon.com 都可以买到:) 别打我。

那好,大部分的书在国家图书馆可以复印到,北京的兄弟有福啦,3年前的书借 出来复印,1角/页,但是新书要早图书馆里复印,5~6角/页,还是比 Amazon 便宜啊,呵呵。

不行大家就到国外买,合买吧,还负担的起。

我对 DirectX 不了解,所以没有涉及关于 DirectX 的内容:)

 

 

原文在这里

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章绪论 1.1计算机图形学及其相关概念 1.2计算机图形学的发展 1.2.1计算机图形学学科的发展 1.2.2图形硬件设备的发展 1.2.3图形软件的发展 1.3计算机图形学的应用 1.3.1计算机辅助设计与制造 1.3.2计算机辅助绘图 1.3.3计算机辅助教学 1.3.4办公自动化和电子出版技术 1.3.5计算机艺术 1.3.6在工业控制及交通方面的应用 1.3.7在医疗卫生方面的应用 1.3.8图形用户界面 1.4计算机图形学研究动态 1.4.1计算机动画 1.4.2地理信息系统 1.4.3人机交互 1.4.4真实感图形显示 1.4.5虚拟现实 1.4.6科学计算可视化 1.4.7并行图形处理 第2章计算机图形系统及图形硬件 2.1计算机图形系统概述 2.1.1计算机图形系统的功能 2.1.2计算机图形系统的结构 2.2图形输入设备 2.2.1键盘 2.2.2鼠标器 2.2.3光笔 2.2.4触摸屏 2.2.5操纵杆 2.2.6跟踪球和空间球 2.2.7数据手套 2.2.8数字化仪 2.2.9图像扫描仪 2.2.10声频输入系统 2.2.11视频输入系统 2.3图形显示设备 2.3.1阴极射线管 2.3.2CRT图形显示器 2.3.3平板显示器 2.3.4三维观察设备 2.4图形显示子系统 2.4.1光栅扫描图形显示子系统的结构 2.4.2绘制流水线 2.4.3相关概念 2.5图形硬拷贝设备 2.5.1打印机 2.5.2绘图仪 2.6OpenGL图形软件包 2.6.1OpenGL的主要功能 2.6.2OpenGL的绘制流程 2.6.3OpenGL的基本语法 2.6.4一个完整的OpenGL程序 第3章用户接口与交互式技术 3.1用户接口设计 3.1.1用户模型 3.1.2显示屏幕的有效利用 3.1.3反馈 3.1.4一致性原则 3.1.5减少记忆量 3.1.6回退和出错处理 3.1.7联机帮助 3.1.8视觉效果设计 3.1.9适应不同的用户 3.2逻辑输入设备与输入处理 3.2.1逻辑输入设备 3.2.2输入模式 3.3交互式绘图技术 3.3.1基本交互式绘图技术 3.3.2三维交互技术 3.4OpenGL中橡皮筋技术的实现 3.4.1基于鼠标的实现 3.4.2基于键盘的实现 3.5OpenGL中拾取操作的实现 3.6OpenGL的菜单功能 第4章图形的表示与数据结构 4.1基本概念 4.1.1基本图形元素 4.1.2几何信息与拓扑信息 4.1.3坐标系 4.1.4实体的定义 4.1.5正则集合运算 4.1.6平面多面体与欧拉公式 4.2三维形体的表示 4.2.1多边形表面模型 4.2.2扫描表示 4.2.3构造实体几何法 4.2.4空间位置枚举表示 4.2.5八叉树 4.2.6BSP树 4.2.7OpenGL中的实体模型函数 4.3非规则对象的表示 4.3.1分形几何 4.3.2形状语法 4.3.3粒子系统 4.3.4基于物理的建模 4.3.5数据场的可视化 4.4层次建模 4.4.1段与层次建模 4.4.2层次模型的实现 4.4.3OpenGL中层次模型的实现 第5章基本图形生成算法 5.1直线的扫描转换 5.1.1数值微分法 5.1.2中点Bresenham算法 5.1.3Bresenham算法 5.2圆的扫描转换 5.2.1八分法画圆 5.2.2中点Bresenham画圆算法 5.3椭圆的扫描转换 5.3.1椭圆的特征 5.3.2椭圆的中点Bresenham算法 5.4多边形的扫描转换与区域填充 5.4.1多边形的扫描转换 5.4.2边缘填充算法 5.4.3区域填充 5.4.4其他相关概念 5.5字符处理 5.5.1点阵字符 5.5.2矢量字符 5.6属性处理 5.6.1线型和线宽 5.6.2字符的属性 5.6.3区域填充的属性 5.7反走样 5.7.1过取样 5.7.2简单的区域取样 5.7.3加权区域取样 5.8在OpenGL中绘制图形 5.8.1点的绘制 5.8.2直线的绘制 5.8.3多边形面的绘制 5.8.4OpenGL中的字符函数 5.8.5OpenGL中的反走样 第6章二维变换及二维观察 6.1基本概念 6.2基本几何变换 6.2.1平移变换 6.2.2比例变换 6.2.3旋转变换 6.2.4对称变换 6.2.5错切变换 6.2.6二维图形几何变换的计算 6.3复合变换 6.3.1二维复合平移变换和比例变换 6.3.2二维复合旋转变换 6.3.4其他二维复合变换 6.3.5相对任一参考点的二维几何变换 6.3.6相对于任意方向的二维几何变换 6.3.7坐标系之间的变换 6.3.8光栅变换 6.3.9变换的性质 6.4二维观察 6.4.1基本概念 6.4.2?用户坐标系到观察坐标系的变换 6.4.3?窗口到视区的变换 6.5?裁剪 6.5.1?点的裁剪 6.5.2直线段的裁剪 6.5.3多边形的裁剪 6.5.4其他裁剪 6.6OpenGL中的二维观察变换 第7章三维变换及三维观察 7.1三维变换的基本概念 7.1.1几何变换 7.1.2三维齐次坐标变换矩阵 7.1.3平面几何投影 7.2三维几何变换 7.2.1三维基本几何变换 7.2.2三维复合变换 7.3三维投影变换 7.3.1正投影 7.3.2斜投影 7.4透视投影 7.4.1一点透视 7.4.2二点透视 7.4.3三点透视 7.5观察坐标系及观察空间 7.5.1观察坐标系 7.5.2观察空间 7.6三维观察流程 7.6.1用户坐标系到观察坐标系的变换 7.6.2平行投影的规范化投影变换 7.6.3透视投影的规范化投影变换 7.7三维裁剪 7.7.1关于规范化观察空间的裁剪 7.7.2齐次坐标空间的裁剪 7.8OpenGL中的变换 7.8.1矩阵堆栈 7.8.2模型视图变换 7.8.3投影变换 7.8.4实例 第8章曲线与曲面 8.1基本概念 8.1.1曲线/曲面数学描述的发展 8.1.2曲线/曲面的表示要求 8.1.3曲线/曲面的表示 8.1.4插值与逼近 8.1.5连续性条件 8.1.6样条描述 8.2三次样条 8.2.1自然三次样条 8.2.2Hermite插值样条 8.3Bezier曲线/曲面 8.3.1Bezier曲线的定义 8.3.2Bezier曲线的性质 8.3.3Bezier曲线的生成 8.3.4Bezier曲面 8.4B样条曲线/曲面 8.4.1B样条曲线 8.4.2B样条曲线的性质 8.4.3B样条曲面 8.5有理样条曲线/曲面 8.5.1NURBS曲线/曲面的定义 8.5.2有理基函数的性质 8.5.3NURBS曲线/曲面的特点 8.6曲线/曲面的转换和计算 8.6.1样条曲线/曲面的转换 8.6.2样条曲线/曲面的离散生成 8.7OpenGL生成曲线/曲面 8.7.1Bezier曲线/曲面函数 8.7.2GLU中的B样条曲线/曲面函数 第9章消隐 9.1深度缓存器算法 9.2区间扫描线算法 9.3深度排序算法 9.4区域细分算法 9.5光线投射算法 9.6BSP树 9.7多边形区域排序算法 9.8OpenGL中的消隐处理 第10章真实感图形绘制 10.1简单光照模型 10.1.1环境光 10.1.2漫反射光 10.1.3镜面反射光 10.1.4光强衰减 10.1.5颜色 10.2基于简单光照模型的多边形绘制 10.2.1恒定光强的多边形绘制 10.2.2Gouraud明暗处理 10.2.3Phong明暗处理 10.3透明处理 10.4产生阴影 10.5模拟景物表面细节 10.5.1用多边形模拟表面细节 10.5.2纹理的定义和映射 10.5.3凹凸映射 10.6整体光照模型与光线追踪 10.6.1整体光照模型 10.6.2Whitted光照模型 10.6.3光线跟踪算法 10.6.4光线跟踪反走样 10.7 OpenGL中的光照与表面绘制函数 10.7.1 OpenGL点光源 10.7.2 OpenGL全局光照 10.7.3 OpenGL表面材质 10.7.4 OpenGL透明处理 10.7.5 OpenGL表面绘制 10.7.6 实例 10.8 OpenGL中的纹理映射
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值