DirectX 3D图形编程宝典 (一)

来源:互联网 发布:java装饰设计模式法师 编辑:程序博客网 时间:2024/04/30 01:26
Book Name: DirectX 3D Graphics Programming Bible. 2000, IDG Books Worldwide, Inc.
Authors: Julio Sanchez, Maria Canton
我找到这本书纯属机缘所系, 作为初学者, 我对DirectX 3D并无过多了解. 完全是出于对游戏编程的向往.
本书内容: 全书共四部分:
1) 3D图形基础知识;
2) DirectDraw;
3) 使用DirectX 3D图形;
4) DirectX 3D编程.
本书基于Windows API和DirectX SDK 7, 不使用MFC.
Part I: 基础知识
Chap 1. 作为图形机器的PC
简单介绍了了CRT和GA的发展和现状, 内容相对于现在来讲略显陈旧. 但是有几个概念需要了解: 亮度, 对比度, 颜色, 分辨率, 纵横比.
图形学的应用领域:
1) 计算机游戏;
2) 工程技术;
3) 艺术设计;
4) 数据分析;
5) 环境模拟;
6) 虚拟现实;
7) 人造生命;
8) 分形几何.
Chap 2. 图形表示和建模
图形分为两大类: 光栅图形 (像素描述) 和矢量图形 (命令描述). 在几何学中, 将图形置于Descartes坐标系中进行分析; 在计算机编程实现时, 用多边形 (尤其是三角形) 表示几何对象, 用矩阵刻画图形. 
用三角形表示几何图形的原因:
1) 三点必共面 (方便渲染);
2) 三角形必是凸的 (任一边的延长线都不会通过三角形内部).
Chap 3. 3D图形变换
由于图形在计算机中以矩阵形式存储, 所以图形变换本质上是矩阵运算. 
1) 平移 (矩阵加法);
2) 缩放 (矩阵数乘);
3) 旋转 (矩阵乘法);
原图形点坐标表示: 2D , 3D .
1) 2D平移:  
2) 2D缩放:  
3) 2D旋转:  
4) 3D平移:  
5) 3D缩放:  
6) 3D旋转:
a) X轴:  
b) Y轴:  
c) Z轴:  
d) 任意轴旋转: 只需给出一个恰当的旋转矩阵, 执行一次变换即可.
在DirectX SDK中, D3dutil.cpp包含了常用变换函数.
原创粉丝点击