C++ 遊戲編程:創建 3D遊戲

桑賈伊‧馬達夫 (Sanjay.Madhav) 王存瑉 王燕

買這商品的人也買了...

商品描述

本書主要介紹用C++進行3D電子遊戲編程的方法,並深入探討遊戲開發人員在實際工作中所使用的相關技術和系統。全書分為14章和1個附錄(附錄A)。第1~5章主要介紹2D電子遊戲的內容和電子遊戲編程的核心概念;第6~14章主要介紹並講解3D電子遊戲編程的內容,其中第8章的內容既適用於2D環境下的電子遊戲編程,也適用於3D環境下的電子遊戲編程;附錄A涵蓋一些C++中的重要概念,包括引用、隊列、指針、動態分配等。

本書以實際遊戲項目為主線,詳細講解了開發相應項目所需的知識及開發設計過程中採用的實現方法。適合使用C++語言進行電子遊戲開發的初級或中級開發人員閱讀,也可供使用其他語言開發遊戲(或使用其他遊戲開發框架開發遊戲)的技術人員參考,還可作為高等院校相關專業的參考用書(本書所涵蓋內容相當於大學課程設置中一個半學期的教學量)。

作者簡介

Sanjay Madhav畢業於美國南加州大學,獲得了該校的計算機科學學士學位和碩士學位,目前在南加州大學攻讀計算機科學博士學位。自2008年起,他一直在南加州大學任教,主講多門編程和電子遊戲編程課程。在此之前,他曾在多個電子遊戲開發公司工作。他所服務過的公司有Electronic Arts、Neversoft和Pandemic Studios,所參與開發的遊戲包括《榮譽勳章之血戰太平洋(Medal of Honor Pacific Assault)》《托尼霍克極限滑板8(Tony Hawks Project 8)》《指環王:徵服(Lord of the Rings: Conquest)》和《破壞者(The Saboteur)》。Sanjay還是《Game Programming Algorithms and Techniques》的作者和《Multiplayer Game Programming》的共同作者。

目錄大綱

第1章 遊戲編程概述
1.1 設置開發環境
1.1.1 Microsoft Windows
1.1.2 Apple macOS
1.2 獲取本書的源代碼
1.3 C++標準庫以外的程序庫
1.4 遊戲循環和Game類
1.4.1 關於“幀”的詳解
1.4.2 實現一個骨骼Game類
1.4.3 Main函數
1.4.4 基本輸入處理
1.5 基本的2D圖形
1.5.1 顏色緩沖區
1.5.2 雙緩沖區
1.5.3 實現基本的2D圖形
1.5.4 繪制墻壁、一個球和一支球拍
1.6 更新遊戲
1.6.1 真實時間和遊戲時間
1.6.2 根據增量時間的遊戲邏輯
1.6.3 更新球拍的位置
1.6.4 更新球的位置
1.7 遊戲項目
1.8 總結
1.9 補充閱讀材料
1.10 練習題
1.10.1 練習題
1.10.2 練習題
第2章 遊戲對象和2D圖形
2.1 遊戲對象
2.1.1 遊戲對象的類型
2.1.2 遊戲對象模型
2.1.3 將遊戲對象融入遊戲循環中
2.2 精靈
2.2.1 加載圖像文件
2.2.2 繪制精靈
2.2.3 動畫精靈
2.3 滾動背景
2.4 遊戲項目
2.5 總結
2.6 補充閱讀材料
2.7 練習題
2.7.1 練習題
2.7.2 練習題
2.7.3 練習題
第3章 向量和基礎物理
3.1 向量
3.1.1 獲得兩點之間的向量:減法
3.1.2 向量縮放:標量乘法
3.1.3 合並兩個向量:加法
3.1.4 確定距離:長度
3.1.5 確定方向:單位向量和標準化
3.1.6 將角度轉換為前向向量
3.1.7 將前向向量轉換為角度:反正切
……
第4章 人工智能
第5章 開放圖形庫(OpenGL)
第6章 3D圖形
第7章 音頻
第8章 輸入系統
第9章 相機
第10章 碰撞檢測
第11章 用戶界面
第12章 骨骼動畫
第13章 中間圖形
第14章 級別文件和二進制數據
附錄A 中級C++回顧