出版時間:2010-2 出版社:機械工業(yè)出版社 作者:王鵬杰 李威 王聰 頁數(shù):272
Tag標簽:無
前言
作為《OpenGL游戲編程》的姊妹篇,本書也是游戲編程的入門書籍,不同的是選用了另一個非常流行(甚至已經(jīng)成為主流技術)的游戲軟件開發(fā)包DirectX進行游戲編程。本書是作者近幾年來在高校教授游戲程序設計課程的經(jīng)驗凝結,力求凸顯“低門檻、重實踐、精理論”的特色,其規(guī)劃和設計融入了作者多年來對該課程教學的經(jīng)驗總結和思考。全書共有16章,包括兩部分內(nèi)容:基礎部分和高級部分?;A部分包括第1章~第8章,主要講述了DirectX的基礎知識,包括游戲開發(fā)的基本數(shù)學知識、DirectX開發(fā)的基本配置、基本開發(fā)框架、基本圖形的繪制、文本顯示、變換、紋理映射。高級部分包括第9章~第16章,根據(jù)DirectX技術的發(fā)展趨勢,介紹了一些有生命力的技術,主要包括深度測試和反走樣、網(wǎng)格、混合、模板以及頂點著色器和像素著色器等知識。本書面向的讀者是有一定程序設計能力的DirectX初學者或愛好者。 各章主要內(nèi)容分別為:第1章介紹游戲開發(fā)相關的一些數(shù)學基礎知識;第2章對DirectX的歷史、功能及基本配置做了介紹;第3章介紹了本書所涉及的Direct3D程序設計框架,并通過實例詳細講解了基本的Win32框架和DXUT框架;第4章介紹了文本顯示程序的編寫,為后續(xù)章節(jié)實例中的文本顯示做準備;第5章介紹了基本圖形的繪制過程,主要講解了基本圖元的類型,以及使用頂點緩存和索引緩存繪制基本圖形的方法;第6章介紹了3種基本變換并輔以實例對其進行詳細說明;第7章介紹了材質(zhì)和光照的使用,給出了不同光照和不同材質(zhì)下的實例效果對比;第8章介紹了紋理的載入和繪制方式;第9章介紹了深度測試和反走樣的基本原理,并分別給出了實例;第10章和第11章介紹了網(wǎng)格的定義,包括網(wǎng)格中頂點緩存和索引緩存的填充,X文件導入生成網(wǎng)格的過程,漸進網(wǎng)格的生成和控制;第12章介紹了混合和模板,并分別給出了實例;第13章~第15章介紹了著色器部分的內(nèi)容,主要對頂點著色器和像素著色器的功能、使用、語義等進行了詳細闡述,并給出了實例解析;第16章給出了一個完整的用DirectX開發(fā)的RPG游戲?qū)嵗?,主要介紹了游戲開發(fā)的一個簡單但完整的過程。 對于初學者來說,按照本書的章節(jié)順序進行閱讀是很好的選擇,書中所有的實例都是按照章節(jié)的內(nèi)容有序安排的;而對于有經(jīng)驗的讀者,可以按需要有選擇地閱讀。本書的特點是每章都有詳細的實例程序,并且對程序代碼進行了清晰的編號和詳細的解釋??梢宰鳛楦叩仍盒S螒?qū)I(yè)的教材,也可供游戲開發(fā)及研究人員參考。 經(jīng)過對本書的學習,你可以掌握DirectX游戲開發(fā)的基礎知識。通過這些基礎知識的學習,你甚至可以編寫一個自己的游戲。祝學習愉快! 本書附帶的光盤中為書中主要實例的源程序,經(jīng)測試可以在VC 2003及以上版本環(huán)境下運行。 本書第4、7章及第12章的模板部分由王鵬杰編寫,第1、2、11章和其余章節(jié)的實例部分由李威編寫,其余內(nèi)容由王聰和賈彥磊編寫。在編寫過程中本書參考和引用了很多現(xiàn)有的DirectX書籍和網(wǎng)絡資源(見書后的參考文獻列表),在此向原作者表示深深的謝意。最后,本書要特別感謝機械工業(yè)出版社華章分社的陳冀康編輯所給予的指導、幫助和鼓勵。 同時感謝關旭成、方郁、王江,他們?yōu)楸緯木帉懽隽舜罅康墓ぷ?,沒有他們的努力,本書是不可能順利完成的。
內(nèi)容概要
本書是DirectX游戲編程的入門教材,是作者近幾年來在高校教授游戲程序設計課程和實驗設計經(jīng)驗的濃縮,力求凸顯“低門檻、重實踐、精理論”的特色,其規(guī)劃和設計融入了作者多年來對該課程教學的經(jīng)驗總結和思考。本書主要包括兩部分內(nèi)容:基礎部分和高級部分。基礎部分主要講述了DirectX的基礎知識,包括游戲開發(fā)的基本數(shù)學知識、DirectX開發(fā)的基本配置、基本開發(fā)框架、基本圖形的繪制、文本顯示、變換、紋理映射。高級部分根據(jù)DirectX技術的發(fā)展趨勢,選講了一些有生命力的技術,主要包括深度測試和反走樣、網(wǎng)格、混合、模板以及頂點著色器和像素著色器等知識?! ”緯m合有一定程序設計能力的DirectX初學者和游戲編程愛好者參考,也可作為高等院校相關專業(yè)、培訓機構的游戲程序設計課程的教材。
書籍目錄
前言 第1章 3D游戲開發(fā)的數(shù)學基礎 1.1 點和向量 1.1.1 點 1.1.2 向量 1.2 直線與平面 1.2.1 直線方程 1.2.2 平面方程 1.2.3 直線與平面、平面與平面之間的關系 1.3 矩陣與坐標變換 1.3.1 矩陣 1.3.2 二維幾何變換 1.3.3 齊次坐標 1.3.4 三維幾何變換 1.3.5 投影變換 1.3.6 裁剪操作 1.4 坐標系 第2章 DirectX快速入門 2.1 DirectX概述 2.1.1 DirectX的由來 2.1.2 版本與功能 2.2 Direct3D底層結構概述 2.2.1 硬件抽象層 2.2.2 硬件模擬層 2.2.3 系統(tǒng)組成及相互關系 2.2.4 Direct3D對象和Direct3D設備對象 2.3 DirectX 9.0的配置和安裝 2.3.1 DirectX 9.0安裝 2.3.2 選擇調(diào)試或發(fā)布庫 2.3.3 集成開發(fā)環(huán)境的配置 第3章 DirectX程序框架 3.1 Win32+C+Direct3D的基礎框架 3.1.1 創(chuàng)建新項目 3.1.2 初始化Direct3D 3.1.3 渲染函數(shù) 3.1.4 結束處理 3.1.5 消息處理 3.1.6 程序入口 3.2 DXUT框架 3.2.1 創(chuàng)建一個DXUT 框架 3.2.2 EmptyProject.cpp文件代碼分析 3.2.3 DXUT框架的生命周期 第4章 文本顯示 4.1 文本繪制流程 4.2 Win32程序框架實現(xiàn) 4.2.1 創(chuàng)建字體對象 4.2.2 繪制文本 4.2.3 釋放字體對象 4.3 DXUT程序框架實現(xiàn) 4.3.1 創(chuàng)建字體對象 4.3.2 繪制文本 第5章 基本圖形的繪制 第6章 變換 第7章 光照和材質(zhì) 第8章 紋理映射 第9章 深度測試和反走樣 第10章 網(wǎng)格(一) 第11章 網(wǎng)格(二) 第12章 混合和模板 第13章 著色器入門 第14章 頂點著色器 第15章 像素著色器 第16章 一個游戲?qū)嵗?參考文獻
章節(jié)摘錄
插圖:(1)世界坐標系構建各種物體模型時,每個模型都位于其自身的局部坐標系中。我們還需要將這些物體組織在一起構成世界坐標系(全局坐標系)中的場景。世界坐標系變換就是將物體頂點坐標從模型自己局部的坐標系空間轉(zhuǎn)換到世界空間。如圖1-16所示是世界坐標系和模型的局部坐標系的對比。在模型空間里,頂點位置坐標依據(jù)模型的本地坐標系的原點而定,在世界空間里,所有模型的頂點共用一個原點,即世界坐標系原點。世界坐標系是一個特殊的坐標系,它建立了描述其他坐標系所需要的參考框架。從非技術意義上講,世界坐標系所建立的是整個場景的“最大”坐標系,其他的坐標系都是參考它來建立的。世界坐標系也被廣泛地稱為全局坐標系或者宇宙坐標系。對于整個場景中的每個物體,它的位置和方向一般都是指它在世界坐標系中的值,它是一個絕對坐標,不隨觀察者方向的變化而變化。(2)本地坐標系 本地坐標系也叫局部坐標系(10cal space)或模型坐標系(modeling space),是用于定義構成物體的三角形單元列表的坐標系。采用局部坐標系的優(yōu)勢體現(xiàn)在它可以簡化建模過程。在物體的局部坐標系中建模要比直接在世界坐標系中容易得多。例如,本地坐標系允許我們構建模型時無須考慮位置、大小或相對于場景中其他物體的朝向。圖1.15中顯示了物體與本地坐標系的關系,圖1-16中顯示了世界坐標系與本地坐標系之間的關系。那么你可能會問,既然有了世界坐標系可以確定物體的位置,那么還要本地坐標系做什么呢?本地坐標系在3D世界中處處存在,每個物體發(fā)生移動或改變方向時,與該物體相關聯(lián)的本地坐標系也隨之移動或改變方向,這將大大簡化我們對各個物體模型的控制。比如我們要繪制一個機器人模型,我們可以建立其物體局部坐標系,在坐標系原點處繪制其身軀,然后向上平移繪制其頭部和左右手,向下平移繪制其左右腿和腳。
編輯推薦
《DirectX游戲編程》:暢銷書《OpenGL游戲編程》姊妹篇,揭秘Direct3D游戲開發(fā)核心技術。作為《OpenGL一游戲編程》的姊妹篇?!禗irectX游戲編程》也是游戲編程的入門書籍,不同的是選用了另一個非常流行的游戲軟件開發(fā)包——DirectX進行游戲編程。當前,Direct3D已經(jīng)成為3D游戲開發(fā)的主流技術。因此對于欲進行3D游戲開發(fā)、圖形處理、虛擬現(xiàn)實、仿真系統(tǒng)等領域的初學者來說,學習Direct3D是他們最好的起點?;诖?,《DirectX游戲編程》在游戲開發(fā)的背景下,介紹了用Direct3D開發(fā)交互式3D圖形程序的幾乎所有主題。《DirectX游戲編程》的規(guī)劃和設計融入了作者多年來對該課程教學的經(jīng)驗總結和思考。半部分介紹了用Direct3D進行游戲開發(fā)的基本技術,包括游戲開發(fā)的基本數(shù)學知識、Direct3D開發(fā)的配置、開發(fā)框架、基本圖形的繪制、文本顯示、變換、紋理映射;后半部分根據(jù)DirectX技術的發(fā)展趨勢,選擇了一些有生命力的技術,主要包括深度測試和反走樣、網(wǎng)格、混合、模板以及頂點著色器和像素著色器等技術?!禗irectX游戲編程》特色:突出“低門檻、重實踐、精理論”的特色。內(nèi)容翔實,實例豐富,完全從實戰(zhàn)出發(fā)講述Direct3D的基本理論及技術。并且實例中深入剖析一些目前市面圖書中未涉及的實用技術細節(jié)。所有實例都力求實用、新穎、有趣,并取材于實際項目,具有極高的可復用價值,完全能在實際項目中“即插即用”。全書代碼保持一種良好的編碼風格,提供清晰的注釋和詳細的解釋。深入剖析了vertex shader、pixel shader編程和HLSL語言等代表Dir。ect3D技術趨勢的新技術并給出大量的實例。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載