この本は、実際のプロジェクト開発タイムラインを使用して、最も基本的なOpenGL環境構造から骨格アニメーション、マルチスレッドレンダリング、シャドウの実装など、ゲームエンジンのすべてのモジュールを完全に導入し、最終的に完全なゲームエンジンを実現します。

第1章では、ゲームエンジンフレームワークを紹介し、ゲームエンジンの構成を導入するための例としてUnityを取ります。
第2章では、OpenGL開発環境の構築を紹介し、OpenGLの空のウィンドウを作成してトラップに入ります。
第3章では、OpenGLを使用して三角形、正方形、キューブを描画して、ゲームレンダリングの最も基本的な要素に慣れるようになります。
第4章では、シェーダー、コンパイルリンク、シェーダー形式とキーワードの概念を紹介します。
第5章では、テクスチャ形式を紹介し、PNGとJPGレンダリングを直接読み取り、GPUで使用する圧縮テクスチャを導入します。
第6章では、インデックスとバッファオブジェクトを導入します。バッファーは頂点データをビデオメモリに保存し、すべてのフレームをメモリからGPUにアップロードする必要はなくなりました。
第7章では、エンジンのカスタマイズされたメッシュファイル形式と材料構成を紹介します。コードに記述された頂点データを元々メッシュファイルに保存し、コードに記述されたシェーダーパラメーターを素材に保存します。
第8章では、Blenderを使用してモデルを作成し、Pythonコードを作成してメッシュファイルとしてエクスポートします。
第9章では、GameObject-Componentモードを実装する方法を紹介します。
第10章では、カメラとは何か、複数のカメラをレンダリングする方法を紹介します。
第11章では、マウスとキーボードの入力の取得を紹介します。
第12章では、デモコードをエンジンソースコードとプロジェクトソースコードに分割する方法を紹介します。
第13章では、指定された文字用の単一のアルファチャネルのテクスチャを生成およびレンダリングするためにFreetypeの使用と、色付きテキストを実装する頂点色の使用を紹介します。
第14章では、UIIMAGE、UIMASK、UITEXT、UIBUTTONなどの基本的なGUIコントロールの実装を紹介します。これらの基本により、他の複雑なコントロールを実装できます。
第15章では、FMODを使用してMP3とWAV音楽を再生し、FMODプロフェッショナルオーディオエディターを使用してサウンドエフェクトを作成し、再生を分析します。
第16章では、C ++パフォーマンス分析ライブラリであるEasy_Profilerを紹介します。
第17章では、SOL2の使用、オープンソースライブラリの使用を紹介し、LUAをエンジンに統合し、その後C ++開発エンジンを使用し、LUAを使用してテストコードを作成します。
第18章では、Skeleton Animationの原則を紹介し、Blenderの使用を紹介して、Skeleton Animationを作成し、Skeleton_animファイルにエクスポートし、エンジンで解析します。
第19章では、スケルトンのスキンアニメーションを紹介し、ブレンダーの重量をリフレッシュし、重量ファイルにエクスポートし、エンジンに解析し、レンダリングします。
第20章では、FBXファイルからメッシュ、スケルトンアニメーション、およびウェイトをエクスポートし、古代スタイルの女の子をエクスポートし、例でレンダリングする方法を紹介します。
第21章では、マルチスレッドレンダリングを紹介し、OpenGL APIを別のレンダリングスレッドに配置し、メインスレッドからレンダリングスレッドへのコマンドを発行し、メインスレッドの負担を軽減するためのDrawCallの影響を分割します。
第22章時々更新の紹介。
この本を書く目的は、ゲームエンジンの基本的な知識を普及させ、特定の統一経験を持ち、エンジンの特定のポイントに興味を持っている読者に普及させることです。
各章で導入された知識ポイントは、入門的な理解のためであり、深く掘り下げていません。
簡単で、短期的な目標であり、この本はあきらめられたものです。
各記事は、紹介の観点から書かれています。 たとえば、C言語コンパイルを使用して、Shaderのコンピレーションをリンクと比較します。
| C言語 | シェーダー | |
|---|---|---|
| ターゲットハードウェア | CPU | GPU |
| 編集プロセス | プロジェクトを作成します | GPUプログラムを作成します |
| 複数のCコードファイルを作成および書き込みます | シェーダーを作成および書き込み(頂点シェーダーとフラグメントシェーダー) | |
| コンパイラにCコードを送信します | シェーダーコードをコンパイラに送信します | |
| Cコードをコンパイルします | シェーダーコードをコンパイルします | |
| リンクリストに追加します | リンクリストに追加します | |
| リンク | リンク |
このセクションのプロジェクトアドレスは、各セクションの先頭に投稿され、フォルダーをClionにドラッグしてすぐにデバッグします。 
コードスニペットは、ファイルとコードが配置されている行の数から始まります。 
最もシンプルな三角形の描画から、骨格アニメーションのレンダリング、照明とシャドウィング、マルチスレッド、物理学、パスファインディングAI、およびオーディオ分析まで、導入されます。
![]() | ![]() | ![]() |
|---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
エンジンブックでモデル化と音声編集の方法を教えるのはこれが初めてであるはずです。
ブレンダーモデリング、FMOD、WWISEオーディオ制作のビデオを録画しました。
他の物質、ツールバッグプラグイン開発、RenderDoc Drawcall分析が簡単に導入されています。
![]() | ![]() | ![]() |
|---|---|---|
![]() | ![]() | ![]() |
レンダリングされたモデルアニメーションは、美しさ、ハンサムな男性、カラフルなオブジェクトを使用しているため、より充実しています。
特定の機能を備えた後、既存の機能に基づいて小さなゲームが開発され、段階的な成果を長期間持続させることができます。
![]() | ![]() | ![]() |
|---|
オンラインを読む: http://www.thisisgame.com.cn/tutorial?book=cpp-game-engine-book&lang=zh&md=Introduction.md -game-engine-book&lang=zh&md=introduction.md
ローカル構造: https://github.com/ThisisGame/thisisgame-web-openresty
現在、WindowsとMacOSに適応しています。
- 由于Arm版Mac只支持OpenGL Core,所以《6.3 OpenGL Core Profile》之前的章节实例无法在Arm版Mac运行。 本インスタンスは、WindowsとMacをサポートするClionを使用して開発されており、Cross-Platformでは追加の学習コストは必要ありません。
VisualStudioは2019年以来CMAKEプロジェクトをサポートしているため、VisualStudio 2019などを使用して、Windowsの本インスタンスを使用してClionプロジェクトを開くこともできます。
詳細については、VisualStudioを使用した2.3開発を参照してください
エンジンはC ++を使用して開発され、Google C ++の仕様に準拠しており、コードを寄付する場合は、最初にコードスタイルに精通する必要があります。 
コードに貢献するときは、最初にこのプロジェクトを名前にフォークしてから、コードを変更し、リクエストを組み合わせて送信してください。
現在、WindowsとMacに適合していると、両方のシステムで開発できます。コードを送信する前に、機能が正常であり、両方のシステムで一貫していることを確認してください。
オンラインで直接開くには、 http://www.thisisgame.com.cn/tutorial?book=cpp-game-engine-book&lang=zh&md=Introduction.md book=cpp-game-engine-book&lang=zh&md=introduction.md
この本はオープンソースであり、このプロジェクトをフォークしてからコードを変更してから、マージリクエストを送信できます。
誰もが問題に言及し、遭遇した問題に関するフィードバックを歓迎します。イントラネットで直接連絡できます。また、Qグループ(879187705)に参加して、回答を取得した後、他の人のクエリを容易にすることもできます。
![]() |
|---|
このプロジェクトは、CLION IDEを使用し、PVS-Studioをオープンソースライセンスのおかげでコードスキャン分析ツールとして使用しています。
![]() | ![]() |
|---|---|
| PVS-studio | ジェットブレイン |