DirectX游戲編程

出版時(shí)間:2010-2  出版社:機(jī)械工業(yè)出版社  作者:王鵬杰 李威 王聰  頁(yè)數(shù):272  
Tag標(biāo)簽:無(wú)  

前言

作為《OpenGL游戲編程》的姊妹篇,本書也是游戲編程的入門書籍,不同的是選用了另一個(gè)非常流行(甚至已經(jīng)成為主流技術(shù))的游戲軟件開發(fā)包DirectX進(jìn)行游戲編程。本書是作者近幾年來(lái)在高校教授游戲程序設(shè)計(jì)課程的經(jīng)驗(yàn)?zāi)Y(jié),力求凸顯“低門檻、重實(shí)踐、精理論”的特色,其規(guī)劃和設(shè)計(jì)融入了作者多年來(lái)對(duì)該課程教學(xué)的經(jīng)驗(yàn)總結(jié)和思考。全書共有16章,包括兩部分內(nèi)容:基礎(chǔ)部分和高級(jí)部分?;A(chǔ)部分包括第1章~第8章,主要講述了DirectX的基礎(chǔ)知識(shí),包括游戲開發(fā)的基本數(shù)學(xué)知識(shí)、DirectX開發(fā)的基本配置、基本開發(fā)框架、基本圖形的繪制、文本顯示、變換、紋理映射。高級(jí)部分包括第9章~第16章,根據(jù)DirectX技術(shù)的發(fā)展趨勢(shì),介紹了一些有生命力的技術(shù),主要包括深度測(cè)試和反走樣、網(wǎng)格、混合、模板以及頂點(diǎn)著色器和像素著色器等知識(shí)。本書面向的讀者是有一定程序設(shè)計(jì)能力的DirectX初學(xué)者或愛好者。 各章主要內(nèi)容分別為:第1章介紹游戲開發(fā)相關(guān)的一些數(shù)學(xué)基礎(chǔ)知識(shí);第2章對(duì)DirectX的歷史、功能及基本配置做了介紹;第3章介紹了本書所涉及的Direct3D程序設(shè)計(jì)框架,并通過實(shí)例詳細(xì)講解了基本的Win32框架和DXUT框架;第4章介紹了文本顯示程序的編寫,為后續(xù)章節(jié)實(shí)例中的文本顯示做準(zhǔn)備;第5章介紹了基本圖形的繪制過程,主要講解了基本圖元的類型,以及使用頂點(diǎn)緩存和索引緩存繪制基本圖形的方法;第6章介紹了3種基本變換并輔以實(shí)例對(duì)其進(jìn)行詳細(xì)說(shuō)明;第7章介紹了材質(zhì)和光照的使用,給出了不同光照和不同材質(zhì)下的實(shí)例效果對(duì)比;第8章介紹了紋理的載入和繪制方式;第9章介紹了深度測(cè)試和反走樣的基本原理,并分別給出了實(shí)例;第10章和第11章介紹了網(wǎng)格的定義,包括網(wǎng)格中頂點(diǎn)緩存和索引緩存的填充,X文件導(dǎo)入生成網(wǎng)格的過程,漸進(jìn)網(wǎng)格的生成和控制;第12章介紹了混合和模板,并分別給出了實(shí)例;第13章~第15章介紹了著色器部分的內(nèi)容,主要對(duì)頂點(diǎn)著色器和像素著色器的功能、使用、語(yǔ)義等進(jìn)行了詳細(xì)闡述,并給出了實(shí)例解析;第16章給出了一個(gè)完整的用DirectX開發(fā)的RPG游戲?qū)嵗?,主要介紹了游戲開發(fā)的一個(gè)簡(jiǎn)單但完整的過程。 對(duì)于初學(xué)者來(lái)說(shuō),按照本書的章節(jié)順序進(jìn)行閱讀是很好的選擇,書中所有的實(shí)例都是按照章節(jié)的內(nèi)容有序安排的;而對(duì)于有經(jīng)驗(yàn)的讀者,可以按需要有選擇地閱讀。本書的特點(diǎn)是每章都有詳細(xì)的實(shí)例程序,并且對(duì)程序代碼進(jìn)行了清晰的編號(hào)和詳細(xì)的解釋??梢宰鳛楦叩仍盒S螒?qū)I(yè)的教材,也可供游戲開發(fā)及研究人員參考。 經(jīng)過對(duì)本書的學(xué)習(xí),你可以掌握DirectX游戲開發(fā)的基礎(chǔ)知識(shí)。通過這些基礎(chǔ)知識(shí)的學(xué)習(xí),你甚至可以編寫一個(gè)自己的游戲。祝學(xué)習(xí)愉快! 本書附帶的光盤中為書中主要實(shí)例的源程序,經(jīng)測(cè)試可以在VC 2003及以上版本環(huán)境下運(yùn)行。 本書第4、7章及第12章的模板部分由王鵬杰編寫,第1、2、11章和其余章節(jié)的實(shí)例部分由李威編寫,其余內(nèi)容由王聰和賈彥磊編寫。在編寫過程中本書參考和引用了很多現(xiàn)有的DirectX書籍和網(wǎng)絡(luò)資源(見書后的參考文獻(xiàn)列表),在此向原作者表示深深的謝意。最后,本書要特別感謝機(jī)械工業(yè)出版社華章分社的陳冀康編輯所給予的指導(dǎo)、幫助和鼓勵(lì)。 同時(shí)感謝關(guān)旭成、方郁、王江,他們?yōu)楸緯木帉懽隽舜罅康墓ぷ?,沒有他們的努力,本書是不可能順利完成的。

內(nèi)容概要

本書是DirectX游戲編程的入門教材,是作者近幾年來(lái)在高校教授游戲程序設(shè)計(jì)課程和實(shí)驗(yàn)設(shè)計(jì)經(jīng)驗(yàn)的濃縮,力求凸顯“低門檻、重實(shí)踐、精理論”的特色,其規(guī)劃和設(shè)計(jì)融入了作者多年來(lái)對(duì)該課程教學(xué)的經(jīng)驗(yàn)總結(jié)和思考。本書主要包括兩部分內(nèi)容:基礎(chǔ)部分和高級(jí)部分?;A(chǔ)部分主要講述了DirectX的基礎(chǔ)知識(shí),包括游戲開發(fā)的基本數(shù)學(xué)知識(shí)、DirectX開發(fā)的基本配置、基本開發(fā)框架、基本圖形的繪制、文本顯示、變換、紋理映射。高級(jí)部分根據(jù)DirectX技術(shù)的發(fā)展趨勢(shì),選講了一些有生命力的技術(shù),主要包括深度測(cè)試和反走樣、網(wǎng)格、混合、模板以及頂點(diǎn)著色器和像素著色器等知識(shí)?! ”緯m合有一定程序設(shè)計(jì)能力的DirectX初學(xué)者和游戲編程愛好者參考,也可作為高等院校相關(guān)專業(yè)、培訓(xùn)機(jī)構(gòu)的游戲程序設(shè)計(jì)課程的教材。

書籍目錄

前言 第1章 3D游戲開發(fā)的數(shù)學(xué)基礎(chǔ)  1.1 點(diǎn)和向量   1.1.1 點(diǎn)   1.1.2 向量  1.2 直線與平面   1.2.1 直線方程   1.2.2 平面方程   1.2.3 直線與平面、平面與平面之間的關(guān)系  1.3 矩陣與坐標(biāo)變換   1.3.1 矩陣   1.3.2 二維幾何變換   1.3.3 齊次坐標(biāo)   1.3.4 三維幾何變換   1.3.5 投影變換   1.3.6 裁剪操作  1.4 坐標(biāo)系 第2章 DirectX快速入門  2.1 DirectX概述   2.1.1 DirectX的由來(lái)   2.1.2 版本與功能  2.2 Direct3D底層結(jié)構(gòu)概述   2.2.1 硬件抽象層   2.2.2 硬件模擬層   2.2.3 系統(tǒng)組成及相互關(guān)系   2.2.4 Direct3D對(duì)象和Direct3D設(shè)備對(duì)象  2.3 DirectX 9.0的配置和安裝   2.3.1 DirectX 9.0安裝   2.3.2 選擇調(diào)試或發(fā)布庫(kù)   2.3.3 集成開發(fā)環(huán)境的配置 第3章 DirectX程序框架  3.1 Win32+C+Direct3D的基礎(chǔ)框架   3.1.1 創(chuàng)建新項(xiàng)目   3.1.2 初始化Direct3D   3.1.3 渲染函數(shù)   3.1.4 結(jié)束處理   3.1.5 消息處理   3.1.6 程序入口  3.2 DXUT框架   3.2.1 創(chuàng)建一個(gè)DXUT 框架   3.2.2 EmptyProject.cpp文件代碼分析   3.2.3 DXUT框架的生命周期 第4章 文本顯示  4.1 文本繪制流程  4.2 Win32程序框架實(shí)現(xiàn)   4.2.1 創(chuàng)建字體對(duì)象   4.2.2 繪制文本   4.2.3 釋放字體對(duì)象  4.3 DXUT程序框架實(shí)現(xiàn)   4.3.1 創(chuàng)建字體對(duì)象   4.3.2 繪制文本 第5章 基本圖形的繪制  第6章 變換 第7章 光照和材質(zhì) 第8章 紋理映射 第9章 深度測(cè)試和反走樣 第10章 網(wǎng)格(一) 第11章 網(wǎng)格(二) 第12章 混合和模板 第13章 著色器入門 第14章 頂點(diǎn)著色器 第15章 像素著色器 第16章 一個(gè)游戲?qū)嵗?參考文獻(xiàn)

章節(jié)摘錄

插圖:(1)世界坐標(biāo)系構(gòu)建各種物體模型時(shí),每個(gè)模型都位于其自身的局部坐標(biāo)系中。我們還需要將這些物體組織在一起構(gòu)成世界坐標(biāo)系(全局坐標(biāo)系)中的場(chǎng)景。世界坐標(biāo)系變換就是將物體頂點(diǎn)坐標(biāo)從模型自己局部的坐標(biāo)系空間轉(zhuǎn)換到世界空間。如圖1-16所示是世界坐標(biāo)系和模型的局部坐標(biāo)系的對(duì)比。在模型空間里,頂點(diǎn)位置坐標(biāo)依據(jù)模型的本地坐標(biāo)系的原點(diǎn)而定,在世界空間里,所有模型的頂點(diǎn)共用一個(gè)原點(diǎn),即世界坐標(biāo)系原點(diǎn)。世界坐標(biāo)系是一個(gè)特殊的坐標(biāo)系,它建立了描述其他坐標(biāo)系所需要的參考框架。從非技術(shù)意義上講,世界坐標(biāo)系所建立的是整個(gè)場(chǎng)景的“最大”坐標(biāo)系,其他的坐標(biāo)系都是參考它來(lái)建立的。世界坐標(biāo)系也被廣泛地稱為全局坐標(biāo)系或者宇宙坐標(biāo)系。對(duì)于整個(gè)場(chǎng)景中的每個(gè)物體,它的位置和方向一般都是指它在世界坐標(biāo)系中的值,它是一個(gè)絕對(duì)坐標(biāo),不隨觀察者方向的變化而變化。(2)本地坐標(biāo)系  本地坐標(biāo)系也叫局部坐標(biāo)系(10cal space)或模型坐標(biāo)系(modeling space),是用于定義構(gòu)成物體的三角形單元列表的坐標(biāo)系。采用局部坐標(biāo)系的優(yōu)勢(shì)體現(xiàn)在它可以簡(jiǎn)化建模過程。在物體的局部坐標(biāo)系中建模要比直接在世界坐標(biāo)系中容易得多。例如,本地坐標(biāo)系允許我們構(gòu)建模型時(shí)無(wú)須考慮位置、大小或相對(duì)于場(chǎng)景中其他物體的朝向。圖1.15中顯示了物體與本地坐標(biāo)系的關(guān)系,圖1-16中顯示了世界坐標(biāo)系與本地坐標(biāo)系之間的關(guān)系。那么你可能會(huì)問,既然有了世界坐標(biāo)系可以確定物體的位置,那么還要本地坐標(biāo)系做什么呢?本地坐標(biāo)系在3D世界中處處存在,每個(gè)物體發(fā)生移動(dòng)或改變方向時(shí),與該物體相關(guān)聯(lián)的本地坐標(biāo)系也隨之移動(dòng)或改變方向,這將大大簡(jiǎn)化我們對(duì)各個(gè)物體模型的控制。比如我們要繪制一個(gè)機(jī)器人模型,我們可以建立其物體局部坐標(biāo)系,在坐標(biāo)系原點(diǎn)處繪制其身軀,然后向上平移繪制其頭部和左右手,向下平移繪制其左右腿和腳。

編輯推薦

《DirectX游戲編程》:暢銷書《OpenGL游戲編程》姊妹篇,揭秘Direct3D游戲開發(fā)核心技術(shù)。作為《OpenGL一游戲編程》的姊妹篇。《DirectX游戲編程》也是游戲編程的入門書籍,不同的是選用了另一個(gè)非常流行的游戲軟件開發(fā)包——DirectX進(jìn)行游戲編程。當(dāng)前,Direct3D已經(jīng)成為3D游戲開發(fā)的主流技術(shù)。因此對(duì)于欲進(jìn)行3D游戲開發(fā)、圖形處理、虛擬現(xiàn)實(shí)、仿真系統(tǒng)等領(lǐng)域的初學(xué)者來(lái)說(shuō),學(xué)習(xí)Direct3D是他們最好的起點(diǎn)?;诖?,《DirectX游戲編程》在游戲開發(fā)的背景下,介紹了用Direct3D開發(fā)交互式3D圖形程序的幾乎所有主題?!禗irectX游戲編程》的規(guī)劃和設(shè)計(jì)融入了作者多年來(lái)對(duì)該課程教學(xué)的經(jīng)驗(yàn)總結(jié)和思考。半部分介紹了用Direct3D進(jìn)行游戲開發(fā)的基本技術(shù),包括游戲開發(fā)的基本數(shù)學(xué)知識(shí)、Direct3D開發(fā)的配置、開發(fā)框架、基本圖形的繪制、文本顯示、變換、紋理映射;后半部分根據(jù)DirectX技術(shù)的發(fā)展趨勢(shì),選擇了一些有生命力的技術(shù),主要包括深度測(cè)試和反走樣、網(wǎng)格、混合、模板以及頂點(diǎn)著色器和像素著色器等技術(shù)。《DirectX游戲編程》特色:突出“低門檻、重實(shí)踐、精理論”的特色。內(nèi)容翔實(shí),實(shí)例豐富,完全從實(shí)戰(zhàn)出發(fā)講述Direct3D的基本理論及技術(shù)。并且實(shí)例中深入剖析一些目前市面圖書中未涉及的實(shí)用技術(shù)細(xì)節(jié)。所有實(shí)例都力求實(shí)用、新穎、有趣,并取材于實(shí)際項(xiàng)目,具有極高的可復(fù)用價(jià)值,完全能在實(shí)際項(xiàng)目中“即插即用”。全書代碼保持一種良好的編碼風(fēng)格,提供清晰的注釋和詳細(xì)的解釋。深入剖析了vertex shader、pixel shader編程和HLSL語(yǔ)言等代表Dir。ect3D技術(shù)趨勢(shì)的新技術(shù)并給出大量的實(shí)例。

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    DirectX游戲編程 PDF格式下載


用戶評(píng)論 (總計(jì)4條)

 
 

  •   買它是沖著最后一章有個(gè)綜合例子,不像其他書基本上像幫助文檔。
    剛到手,就看最后一章,卻發(fā)現(xiàn)最后一章只是簡(jiǎn)單介紹下。是最少內(nèi)容的一章。
    書前言說(shuō)可在vc2003以上運(yùn)行,我把最后一章(第16章)附的源程序,用vc2003卻打不開,說(shuō)是高版本創(chuàng)建的。我又用vc2005+directx sdk(march 2008)編譯居然出現(xiàn)一大堆錯(cuò)誤:先是提示找不到lua.h……,我看了源程序中有:lua-vc6文件夾,就設(shè)置了包含的路徑:。。。\lua-vc6\include后,編譯又出現(xiàn)N多個(gè):'luaL_openlibs': identifier not found
    vc2008也一樣出錯(cuò)。簡(jiǎn)直是氣死人了。
  •   很不錯(cuò),超值,很適合我!
  •   沒有耐心,與發(fā)展稍有出入
  •   DIRECTX 開發(fā)入門級(jí)教程
 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7