Skip to content

Commit a1b87e4

Browse files
authored
Merge pull request #277 from gpx1000/update-nav-for-game-engine
Update Antora navigation to include "Building a Simple Engine"
2 parents eb7e6e9 + 3dd8138 commit a1b87e4

81 files changed

Lines changed: 339 additions & 244 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

antora-ci-playbook.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,6 @@ content:
1212
ui:
1313
bundle:
1414
url: ui-bundle.zip
15+
runtime:
16+
log:
17+
failure_level: warn

antora/modules/ROOT/nav.adoc

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,89 @@
6363
** xref:courses/18_Ray_tracing/07_Conclusion.adoc[Conclusion]
6464
* xref:90_FAQ.adoc[FAQ]
6565
* link:https://github.com/KhronosGroup/Vulkan-Tutorial[GitHub Repository, window=_blank]
66+
67+
* Building a Simple Engine
68+
** xref:Building_a_Simple_Engine/introduction.adoc[Introduction]
69+
** Engine Architecture
70+
*** xref:Building_a_Simple_Engine/Engine_Architecture/01_introduction.adoc[Introduction]
71+
*** xref:Building_a_Simple_Engine/Engine_Architecture/02_architectural_patterns.adoc[Architectural patterns]
72+
*** xref:Building_a_Simple_Engine/Engine_Architecture/03_component_systems.adoc[Component systems]
73+
*** xref:Building_a_Simple_Engine/Engine_Architecture/04_resource_management.adoc[Resource management]
74+
*** xref:Building_a_Simple_Engine/Engine_Architecture/05_rendering_pipeline.adoc[Rendering pipeline]
75+
*** xref:Building_a_Simple_Engine/Engine_Architecture/06_event_systems.adoc[Event systems]
76+
*** xref:Building_a_Simple_Engine/Engine_Architecture/conclusion.adoc[Conclusion]
77+
** Camera Transformations
78+
*** xref:Building_a_Simple_Engine/Camera_Transformations/01_introduction.adoc[Introduction]
79+
*** xref:Building_a_Simple_Engine/Camera_Transformations/02_math_foundations.adoc[Math foundations]
80+
*** xref:Building_a_Simple_Engine/Camera_Transformations/03_transformation_matrices.adoc[Transformation matrices]
81+
*** xref:Building_a_Simple_Engine/Camera_Transformations/04_camera_implementation.adoc[Camera implementation]
82+
*** xref:Building_a_Simple_Engine/Camera_Transformations/05_vulkan_integration.adoc[Vulkan integration]
83+
*** xref:Building_a_Simple_Engine/Camera_Transformations/06_conclusion.adoc[Conclusion]
84+
** Lighting & Materials
85+
*** xref:Building_a_Simple_Engine/Lighting_Materials/01_introduction.adoc[Introduction]
86+
*** xref:Building_a_Simple_Engine/Lighting_Materials/02_lighting_models.adoc[Lighting models]
87+
*** xref:Building_a_Simple_Engine/Lighting_Materials/03_push_constants.adoc[Push constants]
88+
*** xref:Building_a_Simple_Engine/Lighting_Materials/04_lighting_implementation.adoc[Lighting implementation]
89+
*** xref:Building_a_Simple_Engine/Lighting_Materials/05_vulkan_integration.adoc[Vulkan integration]
90+
*** xref:Building_a_Simple_Engine/Lighting_Materials/07_shadows.adoc[Shadows]
91+
*** xref:Building_a_Simple_Engine/Lighting_Materials/06_conclusion.adoc[Conclusion]
92+
** GUI
93+
*** xref:Building_a_Simple_Engine/GUI/01_introduction.adoc[Introduction]
94+
*** xref:Building_a_Simple_Engine/GUI/02_imgui_setup.adoc[ImGui setup]
95+
*** xref:Building_a_Simple_Engine/GUI/03_input_handling.adoc[Input handling]
96+
*** xref:Building_a_Simple_Engine/GUI/04_ui_elements.adoc[UI elements]
97+
*** xref:Building_a_Simple_Engine/GUI/05_vulkan_integration.adoc[Vulkan integration]
98+
*** xref:Building_a_Simple_Engine/GUI/06_conclusion.adoc[Conclusion]
99+
** Loading Models
100+
*** xref:Building_a_Simple_Engine/Loading_Models/01_introduction.adoc[Introduction]
101+
*** xref:Building_a_Simple_Engine/Loading_Models/02_project_setup.adoc[Project setup]
102+
*** xref:Building_a_Simple_Engine/Loading_Models/03_model_system.adoc[Model system]
103+
*** xref:Building_a_Simple_Engine/Loading_Models/04_loading_gltf.adoc[Loading glTF]
104+
*** xref:Building_a_Simple_Engine/Loading_Models/05_pbr_rendering.adoc[PBR rendering]
105+
*** xref:Building_a_Simple_Engine/Loading_Models/06_multiple_objects.adoc[Multiple objects]
106+
*** xref:Building_a_Simple_Engine/Loading_Models/07_scene_rendering.adoc[Scene rendering]
107+
*** xref:Building_a_Simple_Engine/Loading_Models/08_animations.adoc[Animations]
108+
*** xref:Building_a_Simple_Engine/Loading_Models/09_conclusion.adoc[Conclusion]
109+
** Subsystems
110+
*** xref:Building_a_Simple_Engine/Subsystems/01_introduction.adoc[Introduction]
111+
*** xref:Building_a_Simple_Engine/Subsystems/02_audio_basics.adoc[Audio basics]
112+
*** xref:Building_a_Simple_Engine/Subsystems/03_vulkan_audio.adoc[Vulkan audio]
113+
*** xref:Building_a_Simple_Engine/Subsystems/04_physics_basics.adoc[Physics basics]
114+
*** xref:Building_a_Simple_Engine/Subsystems/05_vulkan_physics.adoc[Vulkan physics]
115+
*** xref:Building_a_Simple_Engine/Subsystems/06_conclusion.adoc[Conclusion]
116+
** Tooling
117+
*** xref:Building_a_Simple_Engine/Tooling/01_introduction.adoc[Introduction]
118+
*** xref:Building_a_Simple_Engine/Tooling/02_cicd.adoc[CI/CD]
119+
*** xref:Building_a_Simple_Engine/Tooling/03_debugging_and_renderdoc.adoc[Debugging & RenderDoc]
120+
*** xref:Building_a_Simple_Engine/Tooling/04_crash_minidump.adoc[Crash minidumps]
121+
*** xref:Building_a_Simple_Engine/Tooling/05_extensions.adoc[Extensions]
122+
*** xref:Building_a_Simple_Engine/Tooling/06_packaging_and_distribution.adoc[Packaging & distribution]
123+
*** xref:Building_a_Simple_Engine/Tooling/07_conclusion.adoc[Conclusion]
124+
** Mobile Development
125+
*** xref:Building_a_Simple_Engine/Mobile_Development/01_introduction.adoc[Introduction]
126+
*** xref:Building_a_Simple_Engine/Mobile_Development/02_platform_considerations.adoc[Platform considerations]
127+
*** xref:Building_a_Simple_Engine/Mobile_Development/03_performance_optimizations.adoc[Performance optimizations]
128+
*** xref:Building_a_Simple_Engine/Mobile_Development/04_rendering_approaches.adoc[Rendering approaches]
129+
*** xref:Building_a_Simple_Engine/Mobile_Development/05_vulkan_extensions.adoc[Vulkan extensions]
130+
*** xref:Building_a_Simple_Engine/Mobile_Development/06_conclusion.adoc[Conclusion]
131+
** Advanced Topics
132+
*** xref:Building_a_Simple_Engine/Advanced_Topics/01_introduction.adoc[Introduction]
133+
*** xref:Building_a_Simple_Engine/Advanced_Topics/Rendering_Pipeline_Overview.adoc[Rendering pipeline overview]
134+
*** xref:Building_a_Simple_Engine/Advanced_Topics/Forward_ForwardPlus_Deferred.adoc[Forward vs Forward+ vs Deferred]
135+
*** xref:Building_a_Simple_Engine/Advanced_Topics/ForwardPlus_Rendering.adoc[Forward+ rendering]
136+
*** xref:Building_a_Simple_Engine/Advanced_Topics/Culling.adoc[Culling]
137+
*** xref:Building_a_Simple_Engine/Advanced_Topics/Mipmaps_and_LOD.adoc[Mipmaps & LOD]
138+
*** xref:Building_a_Simple_Engine/Advanced_Topics/Push_Constants_Per_Object.adoc[Push constants per object]
139+
*** xref:Building_a_Simple_Engine/Advanced_Topics/Synchronization_and_Streaming.adoc[Synchronization & streaming]
140+
*** xref:Building_a_Simple_Engine/Advanced_Topics/Synchronization_2_Frame_Pacing.adoc[Synchronization2 & frame pacing]
141+
*** xref:Building_a_Simple_Engine/Advanced_Topics/Descriptor_Indexing_UpdateAfterBind.adoc[Descriptor indexing (UpdateAfterBind)]
142+
*** xref:Building_a_Simple_Engine/Advanced_Topics/Separate_Image_Sampler_Descriptors.adoc[Separate image/sampler descriptors]
143+
*** xref:Building_a_Simple_Engine/Advanced_Topics/Shader_Tile_Image.adoc[Shader tile image]
144+
*** xref:Building_a_Simple_Engine/Advanced_Topics/GLTF_Animation.adoc[glTF animation]
145+
*** xref:Building_a_Simple_Engine/Advanced_Topics/Planar_Reflections.adoc[Planar reflections]
146+
*** xref:Building_a_Simple_Engine/Advanced_Topics/Ray_Query_Rendering.adoc[Ray query rendering]
147+
*** xref:Building_a_Simple_Engine/Advanced_Topics/Ray_Query_Reflections_and_Transparency.adoc[Ray query: reflections & transparency]
148+
*** xref:Building_a_Simple_Engine/Advanced_Topics/Dynamic_Rendering_Local_Read.adoc[Dynamic rendering local read]
149+
*** xref:Building_a_Simple_Engine/Advanced_Topics/Robustness2.adoc[Robustness2]
150+
** Appendix
151+
*** xref:Building_a_Simple_Engine/Appendix/appendix.adoc[Appendix]

en/Building_a_Simple_Engine/Advanced_Topics/01_introduction.adoc

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,22 @@ Welcome — this section collects short, conversational guides that explain what
66

77
Start anywhere that matches your interest:
88

9-
* link:Planar_Reflections.adoc[Planar Reflections]
10-
* link:Ray_Query_Rendering.adoc[Ray Query Rendering]
11-
* link:Ray_Query_Reflections_and_Transparency.adoc[Ray Query Reflections and Transparency]
12-
* link:Rendering_Pipeline_Overview.adoc[Rendering Pipeline Overview]
13-
* link:Forward_ForwardPlus_Deferred.adoc[Forward, Forward+, Deferred]
14-
* link:ForwardPlus_Rendering.adoc[Forward+ Rendering]
15-
* link:Culling.adoc[Frustum Culling and Distance LOD]
16-
* link:Mipmaps_and_LOD.adoc[Mipmaps and LOD]
17-
* link:GLTF_Animation.adoc[glTF Animation & Transform Composition]
18-
* link:Push_Constants_Per_Object.adoc[Push Constants (per‑object material)]
19-
* link:Descriptor_Indexing_UpdateAfterBind.adoc[Descriptor Indexing & Stable Updates]
20-
* link:Separate_Image_Sampler_Descriptors.adoc[Separate Image/Sampler]
21-
* link:Synchronization_and_Streaming.adoc[Synchronization & Streaming]
22-
* link:Synchronization_2_Frame_Pacing.adoc[Synchronization 2 & Frame Pacing]
23-
* link:Robustness2.adoc[VK_EXT_robustness2]
24-
* link:Dynamic_Rendering_Local_Read.adoc[Dynamic Rendering Local Read]
25-
* link:Shader_Tile_Image.adoc[Shader Tile Image]
9+
* xref:Building_a_Simple_Engine/Advanced_Topics/Planar_Reflections.adoc[Planar Reflections]
10+
* xref:Building_a_Simple_Engine/Advanced_Topics/Ray_Query_Rendering.adoc[Ray Query Rendering]
11+
* xref:Building_a_Simple_Engine/Advanced_Topics/Ray_Query_Reflections_and_Transparency.adoc[Ray Query Reflections and Transparency]
12+
* xref:Building_a_Simple_Engine/Advanced_Topics/Rendering_Pipeline_Overview.adoc[Rendering Pipeline Overview]
13+
* xref:Building_a_Simple_Engine/Advanced_Topics/Forward_ForwardPlus_Deferred.adoc[Forward, Forward+, Deferred]
14+
* xref:Building_a_Simple_Engine/Advanced_Topics/ForwardPlus_Rendering.adoc[Forward+ Rendering]
15+
* xref:Building_a_Simple_Engine/Advanced_Topics/Culling.adoc[Frustum Culling and Distance LOD]
16+
* xref:Building_a_Simple_Engine/Advanced_Topics/Mipmaps_and_LOD.adoc[Mipmaps and LOD]
17+
* xref:Building_a_Simple_Engine/Advanced_Topics/GLTF_Animation.adoc[glTF Animation & Transform Composition]
18+
* xref:Building_a_Simple_Engine/Advanced_Topics/Push_Constants_Per_Object.adoc[Push Constants (per‑object material)]
19+
* xref:Building_a_Simple_Engine/Advanced_Topics/Descriptor_Indexing_UpdateAfterBind.adoc[Descriptor Indexing & Stable Updates]
20+
* xref:Building_a_Simple_Engine/Advanced_Topics/Separate_Image_Sampler_Descriptors.adoc[Separate Image/Sampler]
21+
* xref:Building_a_Simple_Engine/Advanced_Topics/Synchronization_and_Streaming.adoc[Synchronization & Streaming]
22+
* xref:Building_a_Simple_Engine/Advanced_Topics/Synchronization_2_Frame_Pacing.adoc[Synchronization 2 & Frame Pacing]
23+
* xref:Building_a_Simple_Engine/Advanced_Topics/Robustness2.adoc[VK_EXT_robustness2]
24+
* xref:Building_a_Simple_Engine/Advanced_Topics/Dynamic_Rendering_Local_Read.adoc[Dynamic Rendering Local Read]
25+
* xref:Building_a_Simple_Engine/Advanced_Topics/Shader_Tile_Image.adoc[Shader Tile Image]
2626

27-
link:../index.html[Back to Building a Simple Engine]
27+
xref:Building_a_Simple_Engine/introduction.adoc[Back to Building a Simple Engine]

en/Building_a_Simple_Engine/Advanced_Topics/Culling.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,6 @@ If you want to push this further:
4141

4242
== What to read next
4343

44-
* `Rendering_Pipeline_Overview.adoc`
45-
* `ForwardPlus_Rendering.adoc`
46-
* `Ray_Query_Rendering.adoc`
44+
* xref:Building_a_Simple_Engine/Advanced_Topics/Rendering_Pipeline_Overview.adoc[Rendering Pipeline Overview]
45+
* xref:Building_a_Simple_Engine/Advanced_Topics/ForwardPlus_Rendering.adoc[Forward+ Rendering]
46+
* xref:Building_a_Simple_Engine/Advanced_Topics/Ray_Query_Rendering.adoc[Ray Query Rendering]

en/Building_a_Simple_Engine/Advanced_Topics/Descriptor_Indexing_UpdateAfterBind.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ If you want to explore more advanced descriptor patterns:
6666

6767
== What to read next
6868

69-
* `Synchronization_and_Streaming.adoc`
70-
* `Separate_Image_Sampler_Descriptors.adoc`
71-
* `Ray_Query_Rendering.adoc`
69+
* xref:Building_a_Simple_Engine/Advanced_Topics/Synchronization_and_Streaming.adoc[Synchronization and Stremaing]
70+
* xref:Building_a_Simple_Engine/Advanced_Topics/Separate_Image_Sampler_Descriptors.adoc[Separate Image Sampler Descriptors]
71+
* xref:Building_a_Simple_Engine/Advanced_Topics/Ray_Query_Rendering.adoc[Ray Query Rendering]
7272

7373
This conservative approach avoids common pitfalls while keeping the code approachable.

en/Building_a_Simple_Engine/Advanced_Topics/Dynamic_Rendering_Local_Read.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@ If you want to demonstrate local-read more directly:
3434

3535
== What to read next
3636

37-
* `Rendering_Pipeline_Overview.adoc`
38-
* `Synchronization_and_Streaming.adoc`
39-
* `Synchronization_2_Frame_Pacing.adoc`
37+
* xref:Building_a_Simple_Engine/Advanced_Topics/Rendering_Pipeline_Overview.adoc[Rendering Pipelne Overview]
38+
* xref:Building_a_Simple_Engine/Advanced_Topics/Synchronization_and_Streaming.adoc[Synchronization and Streaming]
39+
* xref:Building_a_Simple_Engine/Advanced_Topics/Synchronization_2_Frame_Pacing.adoc[Frame Pacing]

en/Building_a_Simple_Engine/Advanced_Topics/ForwardPlus_Rendering.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@ If you want to take this beyond a compact sample:
3232

3333
== What to read next
3434

35-
* `Forward_ForwardPlus_Deferred.adoc`
36-
* `Rendering_Pipeline_Overview.adoc`
37-
* `Synchronization_2_Frame_Pacing.adoc`
35+
* xref:Building_a_Simple_Engine/Advanced_Topics/Forward_ForwardPlus_Deferred.adoc[Forward+ deferred rendering]
36+
* xref:Building_a_Simple_Engine/Advanced_Topics/Rendering_Pipeline_Overview.adoc[Rendering Pipeline Overview]
37+
* xref:Building_a_Simple_Engine/Advanced_Topics/Synchronization_2_Frame_Pacing.adoc[Frame Pacing]

en/Building_a_Simple_Engine/Advanced_Topics/Forward_ForwardPlus_Deferred.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,6 @@ If you want to expand the lighting system beyond “readable sample”:
9797

9898
== What to read next
9999

100-
* `Rendering_Pipeline_Overview.adoc`
101-
* `ForwardPlus_Rendering.adoc`
102-
* `Synchronization_2_Frame_Pacing.adoc`
100+
* xref:Building_a_Simple_Engine/Advanced_Topics/Rendering_Pipeline_Overview.adoc[Rendering Pipeline Overview]
101+
* xref:Building_a_Simple_Engine/Advanced_Topics/ForwardPlus_Rendering.adoc[Forward+ Rendering]
102+
* xref:Building_a_Simple_Engine/Advanced_Topics/Synchronization_2_Frame_Pacing.adoc[Frame Pacing]

en/Building_a_Simple_Engine/Advanced_Topics/GLTF_Animation.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ return glm::slerp(q0, q1, t); // Avoids gimbal lock
251251
If you want to dive deeper:
252252

253253
* **Transform Component**: See `transform_component.h` for how we store and compute model matrices
254-
* **GLTF Specification**: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#animations
254+
* **GLTF Specification**: link:https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#animations[GLTF Specification about animation]
255255
* **Synchronization**: How animation updates interact with render frame timing
256256

257257
The key takeaway: **Always compose animation transforms with base transforms**. This fundamental principle is what makes objects animate in their correct world positions while the animation data itself describes relative changes. Understanding this composition is essential for any animation system.

en/Building_a_Simple_Engine/Advanced_Topics/Mipmaps_and_LOD.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@ If you want to take this farther:
3434

3535
== What to read next
3636

37-
* `Descriptor_Indexing_UpdateAfterBind.adoc`
38-
* `Synchronization_and_Streaming.adoc`
39-
* `Ray_Query_Rendering.adoc`
37+
* xref:Building_a_Simple_Engine/Advanced_Topics/Descriptor_Indexing_UpdateAfterBind.adoc[Descriptor Indexing UpdateAfterBind]
38+
* xref:Building_a_Simple_Engine/Advanced_Topics/Synchronization_and_Streaming.adoc[Synchronization and Streaming]
39+
* xref:Building_a_Simple_Engine/Advanced_Topics/Ray_Query_Rendering.adoc[Ray Query Rendering]

0 commit comments

Comments
 (0)