You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: en/00_Introduction.adoc
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,8 +40,7 @@ See https://paroj.github.io/gltut/[this online book] for a great introduction of
40
40
Some other great computer graphics resources are:
41
41
42
42
* https://github.com/RayTracing/raytracing.github.io[Ray tracing in one weekend]
43
-
* http://www.pbr-book.org/[Physically Based Rendering book]
44
-
* Vulkan being used in a real engine in the open-source https://github.com/Novum/vkQuake[Quake] and https://github.com/DustinHLand/vkDOOM3[DOOM 3]
43
+
* https://www.pbr-book.org/[Physically Based Rendering book]
45
44
46
45
You can use C instead of C{pp} if you want, but you will have to use a different linear algebra library and you will be on your own in terms of code structuring.
47
46
We will use C{pp} features like classes and RAII to organize logic and resource lifetimes.
@@ -58,7 +57,7 @@ The contents of this repository are licensed as link:https://creativecommons.org
58
57
59
58
We'll start with an overview of how Vulkan works and the work we'll have to do to get the first triangle on the screen.
60
59
The purpose of all the smaller steps will make more sense after you've understood their basic role in the whole picture.
61
-
Next, we'll set up the development environment with the https://lunarg.com/vulkan-sdk/[Vulkan SDK], the http://glm.g-truc.net/[GLM library] for linear algebra operations and http://www.glfw.org/[GLFW] for window creation.
60
+
Next, we'll set up the development environment with the https://lunarg.com/vulkan-sdk/[Vulkan SDK], the https://glm.g-truc.net/[GLM library] for linear algebra operations and https://www.glfw.org/[GLFW] for window creation.
62
61
The tutorial will cover how to set these up on Windows with Visual Studio, and on Ubuntu Linux with GCC.
63
62
64
63
After that we'll implement all of the basic components of a Vulkan program that are necessary to render your first triangle.
Copy file name to clipboardExpand all lines: en/02_Development_environment.adoc
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,10 +41,10 @@ Feel free to explore the other files, but we won't need them for this tutorial.
41
41
=== GLFW
42
42
43
43
As mentioned before, Vulkan by itself is a platform agnostic API and does not include tools for creating a window to display the rendered results.
44
-
To benefit from the cross-platform advantages of Vulkan and to avoid the horrors of Win32, we'll use the http://www.glfw.org/[GLFW library] to create a window, which supports Windows, Linux and MacOS.
44
+
To benefit from the cross-platform advantages of Vulkan and to avoid the horrors of Win32, we'll use the https://www.glfw.org/[GLFW library] to create a window, which supports Windows, Linux and MacOS.
45
45
There are other libraries available for this purpose, like https://www.libsdl.org/[SDL], but the advantage of GLFW is that it also abstracts away some of the other platform-specific things in Vulkan besides just window creation.
46
46
47
-
You can find the latest release of GLFW on the http://www.glfw.org/download.html[official website].
47
+
You can find the latest release of GLFW on the https://www.glfw.org/download.html[official website].
48
48
In this tutorial we'll be using the 64-bit binaries, but you can of course also choose to build in 32 bit mode.
49
49
In that case make sure to link with the Vulkan SDK binaries in the `Lib32` directory instead of `Lib`.
50
50
After downloading it, extract the archive to a convenient location.
Unlike DirectX 12, Vulkan does not include a library for linear algebra operations, so we'll have to download one.
58
-
http://glm.g-truc.net/[GLM] is a nice library that is designed for use with graphics APIs and is also commonly used with OpenGL.
58
+
https://glm.g-truc.net/[GLM] is a nice library that is designed for use with graphics APIs and is also commonly used with OpenGL.
59
59
60
60
GLM is a header-only library, so just download the https://github.com/g-truc/glm/releases[latest version] and store it in a convenient location.
61
61
You should have a directory structure similar to the following now:
@@ -210,7 +210,7 @@ It is possible that these libraries are not on the system, if not, you can insta
210
210
=== GLFW
211
211
212
212
As mentioned before, Vulkan by itself is a platform agnostic API and does not include tools for creation a window to display the rendered results.
213
-
To benefit from the cross-platform advantages of Vulkan and to avoid the horrors of X11, we'll use the http://www.glfw.org/[GLFW library] to create a window, which supports Windows, Linux and MacOS.
213
+
To benefit from the cross-platform advantages of Vulkan and to avoid the horrors of X11, we'll use the https://www.glfw.org/[GLFW library] to create a window, which supports Windows, Linux and MacOS.
214
214
There are other libraries available for this purpose, like https://www.libsdl.org/[SDL], but the advantage of GLFW is that it also abstracts away some of the other platform-specific things in Vulkan besides just window creation.
215
215
216
216
We'll be installing GLFW from the following command:
As mentioned before, Vulkan by itself is a platform agnostic API and does not include tools for creation a window to display the rendered results.
453
-
We'll use the http://www.glfw.org/[GLFW library] to create a window, which supports Windows, Linux and MacOS.
453
+
We'll use the https://www.glfw.org/[GLFW library] to create a window, which supports Windows, Linux and MacOS.
454
454
There are other libraries available for this purpose, like https://www.libsdl.org/[SDL], but the advantage of GLFW is that it also abstracts away some of the other platform-specific things in Vulkan besides just window creation.
455
455
456
456
To install GLFW on MacOS we will use the Homebrew package manager to get the `glfw` package:
@@ -463,7 +463,7 @@ brew install glfw
463
463
=== GLM
464
464
465
465
Vulkan does not include a library for linear algebra operations, so we'll have to download one.
466
-
http://glm.g-truc.net/[GLM] is a nice library that is designed for use with graphics APIs and is also commonly used with OpenGL.
466
+
https://glm.g-truc.net/[GLM] is a nice library that is designed for use with graphics APIs and is also commonly used with OpenGL.
467
467
468
468
It is a header-only library that can be installed from the `glm` package:
Copy file name to clipboardExpand all lines: en/03_Drawing_a_triangle/01_Presentation/01_Swap_chain.adoc
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -211,7 +211,7 @@ For example, `VK_FORMAT_B8G8R8A8_SRGB` means that we store the B, G, R and alpha
211
211
The `colorSpace` member indicates if the SRGB color space is supported or not using the `VK_COLOR_SPACE_SRGB_NONLINEAR_KHR` flag.
212
212
Note that this flag used to be called `VK_COLORSPACE_SRGB_NONLINEAR_KHR` in old versions of the specification.
213
213
214
-
For the color space we'll use SRGB if it is available, because it http://stackoverflow.com/questions/12524623/[results in more accurate perceived colors].
214
+
For the color space we'll use SRGB if it is available, because it https://stackoverflow.com/questions/12524623/[results in more accurate perceived colors].
215
215
It is also pretty much the standard color space for images, like the textures we'll use later on.
216
216
Because of that we should also use an SRGB color format, of which one of the most common ones is `VK_FORMAT_B8G8R8A8_SRGB`.
A hash function for `Vertex` is implemented by specifying a template specialization for `std::hash<T>`.
277
-
Hash functions are a complex topic, but http://en.cppreference.com/w/cpp/utility/hash[cppreference.com recommends] the following approach combining the fields of a struct to create a decent quality hash function:
277
+
Hash functions are a complex topic, but https://en.cppreference.com/w/cpp/utility/hash[cppreference.com recommends] the following approach combining the fields of a struct to create a decent quality hash function:
0 commit comments