Skip to content

Commit 5849fa5

Browse files
committed
switch from link to xref.
1 parent 25e66d5 commit 5849fa5

File tree

14 files changed

+51
-51
lines changed

14 files changed

+51
-51
lines changed

en/Building_a_Simple_Engine/Appendix/appendix.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -335,5 +335,5 @@ When designing your engine architecture, consider:
335335
3. *Team Size and Experience* - More complex architectures may be harder to work with for smaller teams.
336336
4. *Project Scope* - A small project may not need the complexity of a full ECS.
337337

338-
link:../Engine_Architecture/02_architectural_patterns.adoc[Back to Architectural Patterns]
339-
link:../Engine_Architecture/05_rendering_pipeline.adoc[Back to Rendering Pipeline]
338+
xref:../Engine_Architecture/02_architectural_patterns.adoc[Back to Architectural Patterns]
339+
xref:../Engine_Architecture/05_rendering_pipeline.adoc[Back to Rendering Pipeline]

en/Building_a_Simple_Engine/Camera_Transformations/01_introduction.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ By the end of this chapter, you'll have a solid understanding of 3D transformati
2222
Before starting this chapter, you should have completed the main Vulkan tutorial. You should also be familiar with:
2323

2424
* Basic Vulkan concepts:
25-
** link:../../03_Drawing_a_triangle/03_Drawing/01_Command_buffers.adoc[Command buffers]
26-
** link:../../03_Drawing_a_triangle/02_Graphics_pipeline_basics/00_Introduction.adoc[Graphics pipelines]
27-
* link:../../04_Vertex_buffers/00_Vertex_input_description.adoc[Vertex] and link:../../04_Vertex_buffers/03_Index_buffer.adoc[index buffers]
28-
* link:../../05_Uniform_buffers/00_Descriptor_set_layout_and_buffer.adoc[Uniform buffers]
25+
** xref:../../03_Drawing_a_triangle/03_Drawing/01_Command_buffers.adoc[Command buffers]
26+
** xref:../../03_Drawing_a_triangle/02_Graphics_pipeline_basics/00_Introduction.adoc[Graphics pipelines]
27+
* xref:../../04_Vertex_buffers/00_Vertex_input_description.adoc[Vertex] and xref:../../04_Vertex_buffers/03_Index_buffer.adoc[index buffers]
28+
* xref:../../05_Uniform_buffers/00_Descriptor_set_layout_and_buffer.adoc[Uniform buffers]
2929
* Basic programming concepts and C++
3030

31-
link:02_math_foundations.adoc[Next: Mathematical Foundations]
31+
xref:02_math_foundations.adoc[Next: Mathematical Foundations]

en/Building_a_Simple_Engine/Camera_Transformations/04_camera_implementation.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -684,9 +684,9 @@ void gameLoop(float deltaTime) {
684684

685685
[NOTE]
686686
====
687-
For more advanced camera techniques, refer to the Advanced Camera Techniques section in the link:../Appendix/appendix.adoc[Appendix].
687+
For more advanced camera techniques, refer to the Advanced Camera Techniques section in the xref:../Appendix/appendix.adoc[Appendix].
688688
====
689689

690690
In the next section, we'll integrate our camera system with Vulkan to render 3D scenes.
691691

692-
link:05_vulkan_integration.adoc[Next: Vulkan Integration]
692+
xref:05_vulkan_integration.adoc[Next: Vulkan Integration]

en/Building_a_Simple_Engine/Camera_Transformations/06_conclusion.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,4 @@ A well-designed camera system is essential for any 3D application. It serves as
5252

5353
Remember that the code provided in this chapter is a starting point. Feel free to modify and extend it to suit your specific needs and application requirements.
5454

55-
link:../Engine_Architecture/conclusion.adoc[Previous: Engine Architecture] | link:../Lighting_Materials/01_introduction.adoc[Next: Lighting & Materials]
55+
xref:../Engine_Architecture/conclusion.adoc[Previous: Engine Architecture] | xref:../Lighting_Materials/01_introduction.adoc[Next: Lighting & Materials]

en/Building_a_Simple_Engine/Engine_Architecture/02_architectural_patterns.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ image::../../../images/layered_architecture_diagram.png[Layered Architecture Dia
2323
* Easier to understand and maintain
2424
* Can replace or modify individual layers without affecting others
2525

26-
For detailed information and implementation examples, see the link:../Appendix/appendix.adoc#layered-architecture[Appendix: Layered Architecture].
26+
For detailed information and implementation examples, see the xref:../Appendix/appendix.adoc#layered-architecture[Appendix: Layered Architecture].
2727

2828
==== link:https://www.youtube.com/watch?v=rX0ItVEVjHc[Data-Oriented Design]
2929

@@ -36,7 +36,7 @@ image::../../../images/data_oriented_design_diagram.svg[Data-Oriented Design Dia
3636
* More efficient memory usage
3737
* Easier to parallelize
3838

39-
For detailed information and implementation examples, see the link:../Appendix/appendix.adoc#data-oriented-design[Appendix: Data-Oriented Design].
39+
For detailed information and implementation examples, see the xref:../Appendix/appendix.adoc#data-oriented-design[Appendix: Data-Oriented Design].
4040

4141
==== link:https://gameprogrammingpatterns.com/service-locator.html[Service Locator Pattern]
4242

@@ -49,7 +49,7 @@ image::../../../images/service_locator_pattern_diagram.svg[Service Locator Patte
4949
* Allows for easy service replacement
5050
* Facilitates testing with mock services
5151

52-
For detailed information and implementation examples, see the link:../Appendix/appendix.adoc#service-locator-pattern[Appendix: Service Locator Pattern].
52+
For detailed information and implementation examples, see the xref:../Appendix/appendix.adoc#service-locator-pattern[Appendix: Service Locator Pattern].
5353

5454
=== link:https://gameprogrammingpatterns.com/component.html[Component-Based Architecture]
5555

@@ -164,8 +164,8 @@ While other architectural patterns have their merits, component-based architectu
164164

165165
=== Conclusion
166166

167-
We've provided a brief overview of common architectural patterns, with a focus on Component-Based Architecture which we'll use throughout this tutorial. For more detailed information about other architectural patterns, including implementation examples and comparative analysis, see the link:../Appendix/appendix.adoc[Appendix: Detailed Architectural Patterns].
167+
We've provided a brief overview of common architectural patterns, with a focus on Component-Based Architecture which we'll use throughout this tutorial. For more detailed information about other architectural patterns, including implementation examples and comparative analysis, see the xref:../Appendix/appendix.adoc[Appendix: Detailed Architectural Patterns].
168168

169169
In the next section, we'll dive deeper into component systems and how to implement them effectively in your engine.
170170

171-
link:01_introduction.adoc[Previous: Introduction] | link:03_component_systems.adoc[Next: Component Systems]
171+
xref:01_introduction.adoc[Previous: Introduction] | xref:03_component_systems.adoc[Next: Component Systems]

en/Building_a_Simple_Engine/Engine_Architecture/05_rendering_pipeline.adoc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -529,10 +529,10 @@ Proper synchronization is crucial in Vulkan because:
529529

530530
The vulkan tutorial includes a more detailed discussion of synchronization, the proper uses of the primitives described above.
531531

532-
* link:../../03_Drawing_a_triangle/03_Drawing/02_Rendering_and_presentation.adoc[Synchronization]
533-
* link:../../03_Drawing_a_triangle/03_Drawing/03_Frames_in_flight.adoc[Frames In Flight]
534-
* link:../../11_Compute_Shader.adoc[Compute Shader]
535-
* link:../../17_Multithreading.adoc[Multithreading]
532+
* xref:../../03_Drawing_a_triangle/03_Drawing/02_Rendering_and_presentation.adoc[Synchronization]
533+
* xref:../../03_Drawing_a_triangle/03_Drawing/03_Frames_in_flight.adoc[Frames In Flight]
534+
* xref:../../11_Compute_Shader.adoc[Compute Shader]
535+
* xref:../../17_Multithreading.adoc[Multithreading]
536536

537537

538538
===== Pipeline Barriers

en/Building_a_Simple_Engine/Engine_Architecture/conclusion.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ The architectural foundation we've established in this chapter will support ever
3636

3737
Active implementation proves far more valuable than passive reading when learning engine architecture. Build the code examples as you encounter them, but don't stop there—experiment with variations to understand how different approaches affect your engine's behavior. This experimentation develops the intuitive understanding that separates competent engine developers from those who merely copy implementations.
3838

39-
The architectural concepts we've covered provide a foundation, but production engines require additional sophistication. The link:../Appendix/appendix.adoc[Appendix] explores advanced rendering techniques and architectural patterns that build on these fundamentals, helping you understand how simple patterns scale to handle complex real-world requirements.
39+
The architectural concepts we've covered provide a foundation, but production engines require additional sophistication. The xref:../Appendix/appendix.adoc[Appendix] explores advanced rendering techniques and architectural patterns that build on these fundamentals, helping you understand how simple patterns scale to handle complex real-world requirements.
4040

4141
Studying existing open-source engines like link:https://github.com/TheCherno/Hazel[Hazel] or examining the architectural decisions in established frameworks like link:https://github.com/LWJGL/lwjgl3[LWJGL] provides valuable perspective on how these concepts apply in practice. Look for patterns we've discussed and notice how different engines make different trade-offs based on their specific goals and constraints.
4242

@@ -50,4 +50,4 @@ Building a rendering engine is a challenging but rewarding endeavor. By applying
5050

5151
Good luck with your engine development journey!
5252

53-
link:06_event_systems.adoc[Previous: Event Systems] | link:../Camera_Transformations/01_introduction.adoc[Next: Camera Transformations]
53+
xref:06_event_systems.adoc[Previous: Event Systems] | xref:../Camera_Transformations/01_introduction.adoc[Next: Camera Transformations]

en/Building_a_Simple_Engine/Loading_Models/01_introduction.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ Throughout this implementation, we'll structure our code with engine-level think
2222

2323
This chapter builds on the foundation established in the main Vulkan tutorial, particularly Chapter 16 (Multiple Objects), as we'll extend those concepts to handle more complex scene organization and asset management. The multiple objects chapter introduced the basic concepts of rendering different geometry, which we'll now scale up to handle complete 3D models with materials and animations.
2424

25-
You'll need solid familiarity with core Vulkan concepts that form the backbone of our model loading system. link:../../03_Drawing_a_triangle/03_Drawing/01_Command_buffers.adoc[Command buffers] become more complex when handling multiple models with different materials, as we'll need to manage descriptor sets and push constants efficiently. Understanding link:../../03_Drawing_a_triangle/02_Graphics_pipeline_basics/00_Introduction.adoc[graphics pipelines] is crucial since different materials might require different pipeline configurations.
25+
You'll need solid familiarity with core Vulkan concepts that form the backbone of our model loading system. xref:../../03_Drawing_a_triangle/03_Drawing/01_Command_buffers.adoc[Command buffers] become more complex when handling multiple models with different materials, as we'll need to manage descriptor sets and push constants efficiently. Understanding xref:../../03_Drawing_a_triangle/02_Graphics_pipeline_basics/00_Introduction.adoc[graphics pipelines] is crucial since different materials might require different pipeline configurations.
2626

27-
Experience with link:../../04_Vertex_buffers/00_Vertex_input_description.adoc[vertex] and link:../../04_Vertex_buffers/03_Index_buffer.adoc[index buffers] translates directly to model loading, where glTF files contain vertex data in specific formats that we'll need to parse and upload to GPU buffers. link:../../05_Uniform_buffers/00_Descriptor_set_layout_and_buffer.adoc[Uniform buffers] knowledge becomes essential as we'll use them for transformation matrices, lighting information, and material properties.
27+
Experience with xref:../../04_Vertex_buffers/00_Vertex_input_description.adoc[vertex] and xref:../../04_Vertex_buffers/03_Index_buffer.adoc[index buffers] translates directly to model loading, where glTF files contain vertex data in specific formats that we'll need to parse and upload to GPU buffers. xref:../../05_Uniform_buffers/00_Descriptor_set_layout_and_buffer.adoc[Uniform buffers] knowledge becomes essential as we'll use them for transformation matrices, lighting information, and material properties.
2828

29-
link:../../06_Texture_mapping/00_Images.adoc[Texture mapping] skills are particularly important since glTF models often include multiple textures per material (diffuse, normal, metallic-roughness, etc.), and we'll need to load and bind these textures efficiently.
29+
xref:../../06_Texture_mapping/00_Images.adoc[Texture mapping] skills are particularly important since glTF models often include multiple textures per material (diffuse, normal, metallic-roughness, etc.), and we'll need to load and bind these textures efficiently.
3030

31-
Finally, basic 3D math understanding (matrices, vectors, quaternions) is crucial for handling model transformations, animations, and scene hierarchies. If you need a refresher, see the link:../../Building_a_Simple_Engine/Camera_Transformations/02_math_foundations.adoc[Camera Transformations chapter] for detailed coverage of these mathematical concepts.
31+
Finally, basic 3D math understanding (matrices, vectors, quaternions) is crucial for handling model transformations, animations, and scene hierarchies. If you need a refresher, see the xref:../../Building_a_Simple_Engine/Camera_Transformations/02_math_foundations.adoc[Camera Transformations chapter] for detailed coverage of these mathematical concepts.
3232

33-
link:../GUI/06_conclusion.adoc[Previous: GUI] | link:02_project_setup.adoc[Next: Setting Up the Project]
33+
xref:../GUI/06_conclusion.adoc[Previous: GUI] | xref:02_project_setup.adoc[Next: Setting Up the Project]

en/Building_a_Simple_Engine/Loading_Models/05_pbr_rendering.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
=== Building on PBR Knowledge
88

9-
In the link:../Lighting_Materials/01_introduction.adoc[Lighting & Materials chapter], we explored the fundamentals of Physically Based Rendering (PBR), including its core principles, the BRDF, and material properties. Now, we'll apply that knowledge to implement a PBR pipeline for the glTF models we've loaded.
9+
In the xref:../Lighting_Materials/01_introduction.adoc[Lighting & Materials chapter], we explored the fundamentals of Physically Based Rendering (PBR), including its core principles, the BRDF, and material properties. Now, we'll apply that knowledge to implement a PBR pipeline for the glTF models we've loaded.
1010

1111
As we learned in the link:../../15_GLTF_KTX2_Migration.html[glTF and KTX2 Migration chapter], glTF uses PBR with the metallic-roughness workflow for its material system. This aligns perfectly with the PBR concepts we've already covered, making it straightforward to render our glTF models with physically accurate lighting.
1212

@@ -61,7 +61,7 @@ This uniform buffer includes:
6161

6262
[NOTE]
6363
====
64-
We introduced push constants earlier in link:../Lighting_Materials/03_push_constants.adoc[push constants]; here we focus on how the same mechanism carries glTF metallic‑roughness material knobs efficiently per draw.
64+
We introduced push constants earlier in xref:../Lighting_Materials/03_push_constants.adoc[push constants]; here we focus on how the same mechanism carries glTF metallic‑roughness material knobs efficiently per draw.
6565
====
6666

6767
We'll use link:https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-pushconstant[push constants] to pass material properties to the shader:
@@ -571,4 +571,4 @@ In the next chapter, we'll explore how to render multiple objects with different
571571

572572
If you want to dive deeper into lighting and materials, refer back to the Lighting & Materials chapter, where we explored the theory behind PBR in detail.
573573

574-
link:04_loading_gltf.adoc[Previous: Loading a glTF Model] | link:06_multiple_objects.adoc[Next: Rendering Multiple Objects]
574+
xref:04_loading_gltf.adoc[Previous: Loading a glTF Model] | xref:06_multiple_objects.adoc[Next: Rendering Multiple Objects]

en/Building_a_Simple_Engine/Mobile_Development/06_conclusion.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,4 +266,4 @@ link:../../attachments/simple_engine/37_mobile_optimizations.cpp[Mobile Optimiza
266266
link:../../attachments/simple_engine/38_tbr_optimizations.cpp[TBR Optimizations C{pp} code]
267267
link:../../attachments/simple_engine/39_mobile_extensions.cpp[Mobile Extensions C{pp} code]
268268

269-
link:05_vulkan_extensions.adoc[Previous: Vulkan Extensions for Mobile] | link:../index.html[Back to Building a Simple Engine]
269+
xref:05_vulkan_extensions.adoc[Previous: Vulkan Extensions for Mobile] | link:../index.html[Back to Building a Simple Engine]

0 commit comments

Comments
 (0)