Commit Graph

157 Commits

Author SHA1 Message Date
Alexander Overvoorde 69bc7a2c0c Remove confusing remark about depthWriteEnable 2020-09-17 21:47:29 +02:00
Alexander Overvoorde b94d09037b Merge pull request #206 from maltekliemann/ref/dedicated-transfer-queue-vkCmdBlitImage 2020-09-17 21:42:37 +02:00
maltekliemann 20fa35ef62 Add remark regarding queue type for vkCmdBlitImage 2020-09-13 17:41:24 +02:00
maltekliemann ef70f04545 Fix typo 2020-09-13 17:21:40 +02:00
Alexander Overvoorde cbb4e54d26 Add missing LDFLAGS 2020-09-08 21:50:09 +02:00
Abner Coimbre db29beaff2 Dev env: fix #189; setting up Vulkan on Linux needs updates 2020-08-22 22:33:58 -07:00
arcturu 67e8f38f2c Fix typo 2020-06-28 12:33:05 +09:00
Érico Vieira Porto 5922eeaa14 fix typo in 01_Swap_chain.md
fix just a typo on the word "transfered" that should be spelled transferred
2020-06-21 18:25:44 -03:00
Alexander Overvoorde 233b1d4855 Replace dead link to transformation matrices guide 2020-06-04 00:05:41 +02:00
Alexander Overvoorde 0d4f6e2b0c Update FAQ link 2020-05-30 00:39:05 +02:00
Alexander Overvoorde 6adb52d82e Merge pull request #183 from LittleWhite-tb/patch-1
Fixed queue family bit name
2020-05-19 22:00:47 +02:00
LittleWhite-tb fc705dbc03 Superfluous semi-colon 2020-05-19 21:08:23 +02:00
LittleWhite-tb 3336eb1794 Fixed queue family bit name 2020-05-17 16:31:50 +02:00
Pablo Delgado Krämer c05bff3b68 Fix wrong VkSamplerCreateInfo type assignments.
The four members of VkSamplerCreateInfo maxAnisotropy, mipLodBias,
minLod and maxLod are floats, but actually assigned integer values.
2020-05-05 15:05:37 +02:00
Morgan Webb 7844b33181 Fix typo 2020-05-03 16:54:48 +10:00
Alexander Overvoorde 8843f338cd Replace example 3D model with permissively licensed one
The existing model had a permissive license at the time this tutorial
was written, but the artist has since started selling the model so I've
decided to switch to a different one to respect their wishes.
2020-04-28 22:41:09 +02:00
Alexander Overvoorde 72359e2eb5 Fix syntax error 2020-04-20 21:09:15 +02:00
Alexander Overvoorde 4f8b81d234 Change code to use value initialization 2020-04-19 13:39:36 +02:00
Alexander Overvoorde a0423a79db Optimize newlines (extension of #177) 2020-04-19 13:26:41 +02:00
Alexander Overvoorde c877ad1bde Merge pull request #177 from SuperV1234/patch-2
Improve wording and C++ usage in 01_Instance
2020-04-19 13:24:29 +02:00
Alexander Overvoorde 0da8792588 Fix MacOS paths for the latest version of the SDK 2020-04-19 13:09:43 +02:00
Alexander Overvoorde 70b4e6b046 Fix wrong texture coordinates in texture mapping chapter 2020-04-19 13:06:43 +02:00
Alexander Overvoorde 23c0a74929 Merge pull request #176 from SuperV1234/patch-1
Remove unused header and improve C++ wording
2020-04-19 00:10:04 +02:00
Vittorio Romeo ee82b50d68 Improve wording and C++ usage
Rationale:

* "Default initialization" actually means not initializing the object, which would leave it uninitialized. Using `= {}` is "aggregate initialization" syntax, which leads to "value initialization". Directly using `{}` is just "value initialization". 

* `std::endl` is overused and can be a source of performance issues, as it forces the output buffer to be flushed. `\n` is - most of the times - what you need. Just doing my part in trying to avoid overuse of `std::endl`.
2020-04-17 14:42:52 +01:00
Vittorio Romeo f54f779c60 Remove unused header and improve C++ wording
`<functional>` is not used anywhere. There's no such thing as a *"lambda function"* in C++ - we have *lambda expressions* which are a core language feature that does **not** require use of the `<functional>` header, and we have `std::function` which is a general-purpose callable object wrapper that **supports** closures generated by *lambda expressions*, but it is not directly related to them. `std::function` is a heavyweight abstraction and it is **not** the type of a closure generated by a *lambda expression* - the latter is an anonymous unique type generated by the compiler.

"Automatic resource management" is nothing new to modern C++, as it can be implemented through basic RAII usage by creating a `struct` with a simple constructor and destructor. While it is true that it is possible to use `std::unique_ptr` and `std::shared_ptr` for Vulkan object management, that is overkill unless unique or shared ownership semantics are actualy needed. The first choice should be a basic wrapper struct, as it has the least overhead and least flexibility.
2020-04-17 14:31:24 +01:00
tsonge 9e4ebb3bd7 Fixed some typos 2020-04-16 17:26:13 -04:00
Alexander Overvoorde 5163ca5eda Merge pull request #174 from akien-mga/WIDTH-HEIGHT-uint32_t
Code: Use uint32_t for WIDTH and HEIGHT to prevent narrowing conversion
2020-04-07 21:09:55 +02:00
Rémi Verschelde 022c46e598 Code: Use uint32_t for WIDTH and HEIGHT to prevent narrowing conversion
A warning would otherwise be raised from "Swap chain" onward when using
GCC 9.3.0:
```
g++ -std=c++17 -o HelloTriangle main.cpp `pkg-config --static --libs glfw3` -lvulkan
main.cpp: In member function ‘VkExtent2D HelloTriangleApplication::chooseSwapExtent(const VkSurfaceCapabilitiesKHR&)’:
main.cpp:458:40: warning: narrowing conversion of ‘(int)((HelloTriangleApplication*)this)->HelloTriangleApplication::WIDTH’ from ‘int’ to ‘uint32_t’ {aka ‘unsigned int’} [-Wnarrowing]
  458 |             VkExtent2D actualExtent = {WIDTH, HEIGHT};
      |                                        ^~~~~
main.cpp:458:47: warning: narrowing conversion of ‘(int)((HelloTriangleApplication*)this)->HelloTriangleApplication::HEIGHT’ from ‘int’ to ‘uint32_t’ {aka ‘unsigned int’} [-Wnarrowing]
  458 |             VkExtent2D actualExtent = {WIDTH, HEIGHT};
      |                                               ^~~~~~
```
2020-04-07 14:14:02 +02:00
Rémi Verschelde 07512dc634 Dev env: Update min compiler requirements for C++17
Following 'Introduction' changes in 53b2e684fc.
2020-03-22 21:30:43 +01:00
Alexander Overvoorde 674031bfec Remove pointless access mask bit (fixes #168) 2020-03-17 21:09:47 +01:00
Alexander Overvoorde b9cc91ed1a Update tutorial images to correctly represent interpolation in linear color space 2020-03-15 19:33:21 +01:00
Alexander Overvoorde 4c08f3961d Fix tutorial mixing up linear and SRGB colors (fixes #163) 2020-02-05 21:58:48 +01:00
Alexander Overvoorde 43ff479fa8 Update validation layer chapter for newer SDK behaviour 2020-02-04 20:39:35 +01:00
Alexander Overvoorde ce3ac11f6e Note the possibility of validation layer errors rather than increasing memory usage in the 'frames in flight' section 2020-01-07 20:32:59 +01:00
Alexander Overvoorde 388e3455af Remove reference to nonexistent Docs directory 2019-12-17 20:56:31 +01:00
Alexander Overvoorde 4799f68577 Update name of vkcube executable 2019-12-17 20:49:01 +01:00
Alexander Overvoorde ce7d8f87b4 Fix possible freeze in recreateSwapChain 2019-11-21 22:07:46 +01:00
Alexander Overvoorde 3c2d9e29a3 Fix logic of getMaxUsableSampleCount 2019-11-08 22:34:55 +01:00
Alexander Overvoorde 43221c86a0 Remove superfluous transition from multisampling chapter 2019-11-03 13:42:10 +01:00
Alexander Overvoorde 0dd14590b9 Fix bad vkResetFences placement in triangle chapter 2019-11-03 13:35:45 +01:00
Alexander Overvoorde 291347e499 Fix frames in flight synchronization edge case 2019-10-28 22:39:06 +01:00
Alexander Overvoorde 96f817603b Improve correctness of statement about srcSubpass/dstSubpass requirements 2019-10-25 21:31:43 +02:00
Alexander Overvoorde aaa41b77d1 Remove redundant queueCount checks 2019-10-22 23:18:39 +02:00
Alexander Overvoorde da265d3667 Remove redundant depth image transition 2019-09-23 23:23:39 +02:00
Alexander Overvoorde ec292bfdb6 Drop numeric_limits in favour of limits in stdint.h 2019-08-24 21:48:42 +02:00
Alexander Overvoorde 948d6d3d56 Clarify use of std::optional (fixes #147) 2019-08-24 21:33:18 +02:00
Alexander Overvoorde 1906fe6937 Fix clockwise/counter-clockwise mixup 2019-08-22 21:46:48 +02:00
Alexander Overvoorde 4a15b225c6 Fix old references to setupDebugCallback 2019-08-15 22:55:11 +02:00
Alexander Overvoorde c29332510f Clarify debug messenger code position 2019-08-07 20:32:34 +02:00
Lesley Lai 685f3090f0 Update required C++ and compiler version
Considering this tutorial is currently using C++17 feature (`std::optional`), it should require people to have a recent enough compiler.
2019-07-29 03:47:12 -07:00
Alexander Overvoorde 3b5c2644a1 Change shader compilation to use glslc rather than glslangvalidator 2019-07-28 16:11:41 +02:00
Alexander Overvoorde 46eb39dc33 Remove SIMULTANEOUS_USE flag from draw command buffers as this is not relevant 2019-07-24 21:28:07 +02:00
Alexander Overvoorde 40e3d846f6 Remove outdated section about driver support for VK_PRESENT_MODE_FIFO_KHR 2019-07-15 22:35:34 +02:00
Alexander Overvoorde 71a3c0fc42 Change validation layer chapter to specify that debug messengers are optional 2019-07-13 16:39:41 +02:00
Alexander Overvoorde 7f7cf5f90e Fix privacy policies having extra header and rebuild ebooks 2019-07-08 20:29:48 +02:00
feyleth 7b5dbed936 correct future link for pdf and epub 2019-06-17 18:18:02 +02:00
feyleth 7404a3f8a6 add generation for multy language 2019-06-17 18:17:59 +02:00