1. 首页
  2. 课程学习
  3. 游戏开发
  4. 3D图形编程指南.rar

3D图形编程指南.rar

上传者: 2019-01-04 08:46:54上传 RAR文件 1.12MB 热度 35次
第一章分析计算机硬件和在不同计算机平台上交互图形应用程序的设计实现。其中说明了计算机是如何显示图像的,以及计算机同用户的交互。在本章也讨论了几种计算机架构(操作系统),包括MS-DOS, MS-Windows, X-Windows, NeXTStep 和 MacOS。本章同时也讨论了软件移植的问题。   变换,包括投影变换,在第二章中讨论。本章说明了计算机在空间中如何处理点集的方法。同时也分析了旋转、平移和投影等基本变换及其计算机实现方法。   在第三章中,我们讨论如何在计算机屏幕上绘制图元(点、线段和多边形)。我们将要看到由光栅图形固有的离散性带来的问题以及其解决方案。   由于计算机屏幕的大小是有限的,在第四章中,我们分析在屏幕范围内裁剪图元的技术。只有虚拟场景中的点才能显示在屏幕上。同时也考虑了体裁剪技术。   变换、图元绘制和裁剪都是视处理的基本技术。在第五章,我们考虑两种不同的视处理方法:从世界到屏幕和从屏幕到世界。   我们要在虚拟世界中显示的对象通常是非常复杂的,包含了大量图元。在第六章,我们要讨论可能的使用多边形、简单曲线或曲面的建模方式。   由于不同图元组成的对象可能出现遮挡现象,观察综合对象的过程变得复杂了起来。在第七章中,我们讨 论隐面消除算法,该算法使得对象在屏幕上能够正确地被显示出来,同时也减轻了计算上的压力。   为了真实地绘制场景,对观察者来说,只有几何结构可见性是不够的。颜色和照明是真实性的基本原则。在第八章中,我们分析如何在虚拟场景中导入照明。虚拟世界中多个对象的存在对诸如阴影和环境反射这样的照明效果带来了很大的麻烦。我们将要在本章中讨论如何在世界到屏幕以及屏幕到世界这两种视处理过程中对此进行计算。   最后,所有的算法必须以精确的方式在计算机程序中结合起来。在最后一章,我们讨论这一步是如何依据模拟虚拟场景的类型而完成的。同时我们也考虑编程范例,其中最引人注目的是面向对象编程,这种方法对3D图形应用的结构非常适宜。   纵览全文,我们会看到许多实现特殊运算的算法。由于计算机资源的约束,使得我们要在多个因素中权衡轻重,尤其是图像的品质和图像渲染速度。我们经常要强行借助逼近甚至其他完全属于探索式的解决方案以便在合理的时间中完成计算。   认识到计算机图形是一项实践性很强的课题是非常重要的,它的主要目的是能够使用计算机硬件产生可辨识的图像。其中涉及了许多领域,从几何学到线性代数,以及光学和心理学,需要把这些领域中的技术加以改进以适应当前可用的计算机硬件。最后,要提醒大家的是,计算机硬件设备发展非常迅速,基于此,软件技术通常也会相应地变化。 论隐面消除算法,该算法使得对象在屏幕上能够正确地被显示出来,同时也减轻了计算上的压力。   为了真实地绘制场景,对观察者来说,只有几何结构可见性是不够的。颜色和照明是真实性的基本原则。在第八章中,我们分析如何在虚拟场景中导入照明。虚拟世界中多个对象的存在对诸如阴影和环境反射这样的照明效果带来了很大的麻烦。我们将要在本章中讨论如何在世界到屏幕以及屏幕到世界这两种视处理过程中对此进行计算。   最后,所有的算法必须以精确的方式在计算机程序中结合起来。在最后一章,我们讨论这一步是如何依据模拟虚拟场景的类型而完成的。同时我们也考虑编程范例,其中最引人注目的是面向对象编程,这种方法对3D图形应用的结构非常适宜。   纵览全文,我们会看到许多实现特殊运算的算法。由于计算机资源的约束,使得我们要在多个因素中权衡轻重,尤其是图像的品质和图像渲染速度。我们经常要强行借助逼近甚至其他完全属于探索式的解决方案以便在合理的时间中完成计算。   认识到计算机图形是一项实践性很强的课题是非常重要的,它的主要目的是能够使用计算机硬件产生可辨识的图像。其中涉及了许多领域,从几何学到线性代数,以及光学和心理学,需要把这些领域中的技术加以改进以适应当前可用的计算机硬件。最后,要提醒大家的是,计算机硬件设备发展非常迅速,基于此,软件技术通常也会相应地变化。
用户评论