DirectX遊戲程式設計,揭祕Direct3D遊戲開發核心技術
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聲效控制
參考文獻
相關文章
- 遊戲反外掛技術揭祕遊戲
- 全景探祕遊戲設計藝術(1):遊戲設計師遊戲設計師
- 鴨鴨星球遊戲系統程式設計開發丨NFT鏈遊遊戲開發技術語言程式設計遊戲開發
- 全景探祕遊戲設計藝術(2):遊戲機制遊戲設計
- NFT遊戲系統開發/遊戲開發技術遊戲開發
- GameFi/NFT鏈遊合成遊戲系統技術程式設計開發程式碼示例GAM遊戲程式設計
- GameFi+NFT鏈遊開發技術/NFT鏈遊遊戲系統程式設計開發程式碼示例GAM遊戲程式設計
- 雜湊遊戲系統技術開發丨雜湊單雙競猜遊戲原始碼丨雜湊遊戲程式設計技術遊戲原始碼程式設計
- 遊戲開發者的思考:什麼是遊戲設計的核心?遊戲開發遊戲設計
- 農人計劃NFT鏈遊遊戲系統開發技術及程式設計原理遊戲程式設計
- RPG遊戲開場設計:揭祕“教學”與“代入感”兩本祕籍遊戲
- GameFi+NFT鏈遊遊戲元宇宙開發程式設計丨鏈遊系統開發技術解析GAM遊戲元宇宙程式設計
- 【程式設計師的遊戲開發之路】 遊戲架構程式設計師遊戲開發架構
- 揭祕 MWU 最佳畫質遊戲《永劫無間》技術歷程遊戲
- NFT鏈遊元宇宙遊戲系統技術開發程式設計丨DAPP丨NFT元宇宙遊戲程式設計APP
- NFT鏈遊遊戲元宇宙系統技術開發設計詳情遊戲元宇宙
- 悠遊世界合成遊戲系統技術開發解析/合成遊戲/小遊戲遊戲
- 幸運雜湊單雙競猜遊戲開發技術丨雜湊遊戲系統程式設計開發(部署搭建)遊戲開發程式設計
- NFT鏈遊合成遊戲系統程式設計開發技術丨dapp丨NFT丨GameFi遊戲程式設計APPGAM
- 悠遊世界/遊戲/系統技術開發/悠遊世界養成遊戲開發解析遊戲開發
- GameFi鏈遊NFT遊戲智慧合約系統開發設計(技術分析)GAM遊戲
- 遊戲開發與設計遊戲開發
- TechFinger遊戲搬磚(智慧合約)系統程式設計開發技術程式碼示例遊戲程式設計
- Hash競猜雜湊遊戲鏈遊系統技術開發及程式設計示例詳情遊戲程式設計
- 關於GameFi鏈遊NFT遊戲元宇宙系統技術開發(搭建設計)GAM遊戲元宇宙
- 【譯】闖入遊戲開發 #3:程式設計遊戲開發程式設計
- 農民世界鏈遊元宇宙遊戲系統技術開發程式元宇宙遊戲
- NFT遊戲鏈遊開發設計丨NFT鏈遊元宇宙系統技術開發丨DAPP丨NFT遊戲元宇宙APP
- 遊戲開發—協議設計遊戲開發協議
- 遊戲技術遊戲
- 遊戲大地圖開發指南:遊戲外部空間設計遊戲地圖
- 環遊世界/合成/遊戲/系統技術開發案例遊戲
- The Beacon鏈遊NFT遊戲開發系統搭建技術遊戲開發
- 騰訊遊戲亮相2023遊戲開發者大會,面向全球展現前沿遊戲技術遊戲開發
- GameFi/NFT鏈遊遊戲系統技術開發/GameFi鏈遊開發/NFTGAM遊戲
- 遊戲保值神器,揭開遊戲品牌的前世今生遊戲
- NFT遊戲鏈遊系統開發技術詳細丨NFT遊戲鏈遊DAPP開發原始碼模式遊戲APP原始碼模式
- 【乾貨】遊戲介面設計 (一)核心設計遊戲
- 雜湊競猜遊戲系統開發DAPP丨雜湊競猜遊戲開發技術程式碼示例APP遊戲開發