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.
简单介绍了了CRT和GA的发展和现状, 内容相对于现在来讲略显陈旧. 但是有几个概念需要了解: 亮度, 对比度, 颜色, 分辨率, 纵横比.
图形学的应用领域:
1) 计算机游戏;
2) 工程技术;
3) 艺术设计;
4) 数据分析;
5) 环境模拟;
6) 虚拟现实;
7) 人造生命;
8) 分形几何.
图形分为两大类: 光栅图形 (像素描述) 和矢量图形 (命令描述). 在几何学中, 将图形置于Descartes坐标系中进行分析; 在计算机编程实现时, 用多边形 (尤其是三角形) 表示几何对象, 用矩阵刻画图形.
用三角形表示几何图形的原因:
1) 三点必共面 (方便渲染);
2) 三角形必是凸的 (任一边的延长线都不会通过三角形内部).
由于图形在计算机中以矩阵形式存储, 所以图形变换本质上是矩阵运算.
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包含了常用变换函数.