网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 3D游戏程序设计基础(附光盘)
分类
作者 金禾工作室
出版社 兵器工业出版社
下载
简介
编辑推荐

与2D图形图像画面相比,3D画面带给玩家的是更具现实立体感的世界。于是乎,3D游戏成为主流,而人气最旺的在线游戏,亦逐渐转向3D化。由于3D程序概念之艰涩难懂,故而本书舍弃传统程序设计书籍的论述方式,改为具有启发性的对话过程。此对话方式,一来可以拉近作者与读者之间的距离,让读者在阅读上无心理负担,再者更可籍由启发式的对话来加深读者对3D程序设计的领悟。相信即便是相关领域的读者,亦可籍由此书轻松踏入3D程序设计之门,进而成为3D领域的佼佼者!

内容推荐

这是一本讲述利用Visual C++.NET进行3D程序设计的专著。本书讨论如何进行基于DirectX的3D程序开发的基本思维、方法和具体过程。

全书分为10章,内容包括基于DirectX和OpenGL的3D程序,贴图与坐标系,从2D到3D的过渡思维,镜像贴图与坐标变换,3ds max模型加载与处理——引入光源、透明、反射、阴影等3D场景效果的VC.NET程序实现。

本书完全针对初学者——无须具备程序语言基础,以师徒问答、思维引导方式学用、实践结合,文字轻松、内容浅显并具启发性。注重3D思维方法,适合3D程序设计爱好者、3D游戏开发者。

配套光盘内容为书中部分实例的源代码。

目录

第1章 第一个3D程序

3D空间初体验

视窗

3D世界的坐标

右手坐标系

左手坐标系

Direct3D和OpenGL

采用右手坐标系的优点

如何设定视窗的视野范围

默认值

系统变量

单位的意义

决定视窗与Camera的距离

决定视窗的大小

决定观察的最远距离

创建第一个D3D程序

本书使用的软件工具

安装软件注意事项

开始安装DirectX

以EmptyProiect建立D3D程序

D3D基本Framework解说

InitApp()

IsDeviceAcceptable()

ModifyDeviceSettings()

OnCreateDevice()

OnResetDevice()

OnFrameMove()

OnFrameRender()

OnLostDevice()

OnDestroyDevice()

在视窗中加入一个三角形

介绍3D中的数据项

准备顶点信息

设定Material

着色状态值的设定

将World Matrix初始化

View Matrix的设定

Pro{ection Matrix的设定

建立光源

设定CullMode

转动三角形

画出三角形

释放资源

3D名词解释

什么是Device

CPU、3D显卡与效能的关系

Buffer是一种内存吗

VertexBuffer和Buffer

有什么不同

3D中的颜色值——Color Value

RGBA

Normal Vector与Li#t Vector

Color Buffer是什么样的内存

DepthBuffel与ZBuffer

Full Screen是全屏幕吗

第2章 加上贴图效果

由三角形到正方形

正方形的组成

介绍Index Buffer

使用IndexBuffer建立正方形

关于材质与贴图

什么是贴图

认识贴图坐标

其他贴图方法

Fexture技巧演练

建立Texture相关程序代码

介绍SefrexntreStageState()函数

D3D中Color值的运算

Filter与贴图的关系

第3章 从平面到立体

制作每个面都有贴图的立方体

立方体共点时的贴图问题

解决问题

打造一个六面不同贴图的立方体

准备Vertex Buffer

填入Vertex Data

准备贴图

第4章 贴图效果的进一步介绍

建立一片漂亮的地板

建立地板的准备工作

着手建立地板的程序代码

试试各种贴图方法

Wrap(Repeat)贴图法

Clamp贴图法

Mirror‘贴图法

改进贴图品质

分辨率不足的问题

介绍MipMap贴图取样

MipMap与Filter贴图

取样的比较

第5章 移形换位——坐标变换

空间坐标变换

3D空间中旋转的基本概念

投影的坐标变换(Proiection)

位移的坐标变换(Translation)

旋转的坐标变换(Rotation)

矩阵具有结合律

World Matrix

View Matrix

Proiection Matrix

位移效果的矩阵函数

旋转效果的矩阵函数

World Space与Object Space

矩阵相乘不具备交换律

给地板施定身法

找出画地板前的World Matrix

声明一个单位矩阵指定给地板

关闭PUREDEVICE

让Camera自由走动

增加Camera移动的按键控制

声明变量来储存Camera的位置

使用矩阵函数

使用MatrixStack for Rotating Cube

使用MatrixStack for Camera

并加上旋转功能

如何让Camera绕着自己的坐标

旋转和移动

第6章 模型加载介绍

用VertexBuffer建立模型

建立墙面的Vertex Buffer

正式在OnFrameRender()里

画出墙面

在OnDestroyDevice()里

释放资源

修改Camera的位置及步伐

使用3ds max制作含Material的模型

在ds max中加入转文件程序

如何简单制作模型

设定模型的Material

将模型Export出去

在场景中加载3ds max模型

把程序与3sd modellib做连结

在程序中加载含Material的模型

激活Specular效果

激活Specular的步骤

动手开启Specular的光源设定

使用3dsmax的Texture模型

如何在Max中设定模型Texture

将含Texture的模型加入场景

第7章 激活光源效果

物体的受光原理

红花为什么那样红

黑色头发会反射黑光吗

为3D世界建立光源

光源的种类

光源的位置与方向

如何激活光源效果

在场景中加入Point Light

在场景中标记光源的位置

在场景中加入Spot Light

在场景中标记光源的方向

制作迷人的舞台灯光效果

让灯光动起来

制作明暗不定的多彩灯光

让Cube也动起来吧

顶点数与光源的关系

计算顶点的颜色

增加顶点数量来强化光源效果

动态调整地板顶点数量的

小程序

动态地调整墙壁的顶点数量

增加光源开关的机制

第8章 若隐若现的透明效果

为透明作准备

更新模型

使用Material填入Square的颜色

关于Color Operation的疑惑

使用Texture Factor 填入Square的颜色

让Cube动起来

再复制一个Cube

正式进入透明的殿堂

透明的定义

设定透明的步骤

为Material Square透明化

为Texture Factor Square透明化

把Cube也一起透明化吧

Cull Face的设定

第9章 绚丽的镜面反射效果

为反射效果做准备

更换模型

整理OnFrameRender()

反射技巧第一步——地板透明化

复习透明的步骤

动态控制地板的透明度

反射技巧第二步——画出反射对象

认识Scale矩阵

利用Scale矩阵做出反射效果

改变反射对象的旋转方向

画出反射的Cube

探讨画出反射Cube失败的原因

修正反射部分的光线

画出其他反射对象

反射技巧第三步——Stencil Buffer

请StencilBuffer登场

设定Stencil Buffer内存

Clear Stencil Buffer

在Stencil Buffer里做记号

Stencil Test

将所有地板下的反射对象

都藏起来吧

第10章 阴影效果

为阴影做准备

更换模型

阴影的形成过程

为Cube画出阴影

设定投影的变换矩阵

设定阴影的颜色及透明度

画出Cube的阴影

阴影重叠的问题

画出其他对象的阴影

发现阴影破碎的问题

解决阴影重叠问题

向硬件寻找可以使用

StencilBuffer功能组合

使用Stencil Buffer解决阴影

破碎问题

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/1/31 20:23:44