DirectX遊戲程式設計,揭祕Direct3D遊戲開發核心技術

hzbooks發表於2010-03-18

DirectX遊戲程式設計 (揭祕Direct3D遊戲開發核心技術) 王鵬傑 李威 王聰 編著
978-7-111-29331-6

49.00
281

出版社:機械工業出版社
上市時間:2010年3月

 


前言

  作為《OpenGL遊戲程式設計 》的姊妹篇,《DirectX遊戲程式設計 》也是遊戲程式設計的入門書籍,不同的是選用了另一個非常流行(甚至已經成為主流技術)的遊戲軟體開發包 DirectX進行遊戲程式設計。本書是作者近幾年來在高校教授遊戲程式設計課程的經驗凝結,力求凸顯“低門檻、重實踐、精理論”的特色,其規劃和設計融入了 作者多年來對該課程教學的經驗總結和思考。全書共有16章,包括兩部分內容:基礎部分和高階部分。基礎部分包括第1章~第8章,主要講述了DirectX 的基礎知識,包括遊戲開發的基本數學知識、DirectX開發的基本配置、基本開發框架、基本圖形的繪製、文字顯示、變換、紋理對映。高階部分包括第9 章~第16章,根據DirectX技術的發展趨勢,介紹了一些有生命力的技術,主要包括深度測試和反走樣、網格、混合、模板以及頂點著色器和畫素著色器等 知識。本書面向的讀者是有一定程式設計能力的DirectX初學者或愛好者。
  各章主要內容分別為:第1章介紹遊戲開發相關的一些數學基礎知識;第2章對DirectX的歷史、功能及基本配置做了介紹;第3章介紹了本書所涉及的Direct3D程式設計框架,並通過例項詳細講解了基本的 Win32框架和DXUT框架;第4章介紹了文字顯示程式的編寫,為後續章節例項中的文字顯示做準備;第5章介紹了基本圖形的繪製過程,主要講解了基本圖 元的型別,以及使用頂點快取和索引快取繪製基本圖形的方法;第6章介紹了3種基本變換並輔以例項對其進行詳細說明;第7章介紹了材質和光照的使用,給出了 不同光照和不同材質下的例項效果對比;第8章介紹了紋理的載入和繪製方式;第9章介紹了深度測試和反走樣的基本原理,並分別給出了例項;第10章和第11 章介紹了網格的定義,包括網格中頂點快取和索引快取的填充,X檔案匯入生成網格的過程,漸進網格的生成和控制;第12章介紹了混合和模板,並分別給出了例項;第13章~第15章介紹了著色器部分的內容,主要對頂點著色器和畫素著色器的功能、使用、語義等進行了詳細闡述,並給出了例項解析;第16章給出了一個完整的用DirectX開發的RPG遊戲例項,主要介紹了遊戲開發的一個簡單但完整的過程。
  對於初學者來說,按照本書的章節順序進行閱讀是很好的選擇,書中所有的例項都是按照章節的內容有序安排的;而對於有經驗的讀者,可以按需要有選擇地閱讀。本書的特點是每章都有詳細的例項程式,並且對程式程式碼進行了清晰的編號和詳細的解釋。可以作為高等院校遊戲專業的教材,也可供遊戲開發及研究人員參考。
  經過對本書的學習,你可以掌握 DirectX遊戲開發的基礎知識。通過這些基礎知識的學習,你甚至可以編寫一個自己的遊戲。祝學習愉快!
  本書附帶的光碟中為書中主要例項的 源程式,經測試可以在VC 2003及以上版本環境下執行。
  本書第4、7章及第12章的模板部分由王鵬傑編寫,第1、2、11章和其餘章節的 例項部分由李威編寫,其餘內容由王聰和賈彥磊編寫。在編寫過程中本書參考和引用了很多現有的DirectX書籍和網路資源(見書後的參考文獻列表),在此向原作者表示深深的謝意。最後,本書要特別感謝機械工業出版社華章分社的陳冀康編輯所給予的指導、幫助和鼓勵。
  同時感謝關旭成、方鬱、王江, 他們為本書的編寫做了大量的工作,沒有他們的努力,本書是不可能順利完成的。


王鵬傑
2009年10月25日於浙大紫金港

 


目錄

前言
第1章3D遊戲開發的數學基礎

  • 1.1點和向量
  • 1.2直線與平面
  • 1.3矩陣與座標變換
  • 1.4座標系

第2章DirectX快速入門

  • 2.1DirectX概述
  • 2.2Direct3D底層結構概述
  • 2.3DirectX 9.0的配置和安裝

第3章DirectX程式框架

  • 3.1Win32+C+Direct3D的基礎框架
  • 3.2DXUT框架

第4章文字顯示

  • 4.1文字繪製流程
  • 4.2Win32程式框架實現
  • 4.3DXUT程式框架實現

第5章基本圖形的繪製

  • 5.1圖元
  • 5.2座標系
  • 5.3靈活頂點格式(FVF)
  • 5.4使用頂點快取繪製圖形
  • 5.5索引快取
  • 5.6顏色表示法
  • 5.7渲染狀態
  • 5.8繪製準備
  • 5.9D3DX幾何物體
  • 5.10例項設計與實現

第6章變換

  • 6.1攝像機
  • 6.2頂點變換
  • 6.3光柵化
  • 6.4例項

第7章光照和材質

  • 7.1真實感圖形基本概念
  • 7.2Direct3D中的光照
  • 7.3Direct3D中的材質
  • 7.4光照和材質小結
  • 7.5光照和材質例子

第8章紋理對映

  • 8.1紋理貼圖
  • 8.2紋理座標
  • 8.3紋理定址模式
  • 8.4紋理過濾
  • 8.5紋理混合狀態
  • 8.6紋理例項解析

第9章深度測試和反走樣

  • 9.1深度快取與深度測試
  • 9.2圖形反走樣
  • 9.3深度測試例項
  • 9.4反走樣例項

第10章網格(一)

  • 10.1ID3DXMesh
  • 10.2子集和屬性快取
  • 10.3繪製
  • 10.4鄰接資訊
  • 10.5優化
  • 10.6屬性表
  • 10.7建立一個Mesh
  • 10.8例子:從已有的頂點序列中建立一個網格

第11章網格(二)

  • 11.1X檔案格式解析
  • 11.2讀取X檔案
  • 11.3X檔案的材質
  • 11.4讀X檔案例子
  • 11.5漸進網格
  • 11.6漸進網格例子

第12章混合和模板

  • 12.1混合因子
  • 12.2混合計算
  • 12.3Alpha來源
  • 12.4Alpha測試
  • 12.5Alpha混合例項
  • 12.6模板

第13章著色器入門

  • 13.1著色器概述
  • 13.2HLSL的變數
  • 13.3HLSL的函式
  • 13.4HLSL基本語法
  • 13.5在Direct3D中使用HLSL

第14章頂點著色器

  • 14.1頂點著色器概述
  • 14.2頂點宣告
  • 14.3使用頂點著色器
  • 14.4頂點著色器例項1:TeapotVS
  • 14.5頂點著色器例項2:漸變動畫MorphingVS

第15章畫素著色器

  • 15.1畫素著色器概述
  • 15.2使用畫素著色器
  • 15.3HLSL取樣器物件
  • 15.4多重紋理
  • 15.5例子程式:畫素著色器實現多紋理MultiTex

第16章一個遊戲例項

  • 16.1前言
  • 16.2遊戲整體架構
  • 16.3遊戲初始化
  • 16.4場景渲染
  • 16.5遊戲控制
  • 16.6聲效控制

參考文獻

 

 

相關文章