Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 9 additions & 10 deletions en/10_Multisampling.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -328,19 +328,18 @@ In this example, we'll leave sample shading disabled, but in certain scenarios t

image::/images/sample_shading.png[]

== Conclusion
== Next steps

It has taken a lot of work to get to this point, but now you finally have a good base for a Vulkan program.
The knowledge of the basic principles of Vulkan that you now possess should be sufficient to start exploring more of the features, like:

* Push constants
* Instanced rendering
* Dynamic uniforms
* Separate images and sampler descriptors
* Pipeline cache
* Multithreaded command buffer generation
* Multiple subpasses
This isn't the end of the tutorial series, though - the knowledge of the basic principles of Vulkan that
you now possess should be sufficient to start exploring more of the features, like:

* Push constants and instanced rendering, touched on in xref:16_Multiple_Objects.adoc[Rendering multiple objects]
* xref:17_Multithreading.adoc[Multithreaded command buffer generation]
* xref:11_Compute_Shader.adoc[Compute shaders]
* Dynamic uniforms, separate image and sampler descriptors, pipeline caches, and multiple subpasses - not
covered by this series, but demonstrated in the Khronos-maintained
https://github.com/KhronosGroup/Vulkan-Samples[Vulkan-Samples] repository

The current program can be extended in many ways, like adding Blinn-Phong lighting, post-processing effects, and shadow mapping.
You should be able to learn how these effects work from tutorials for other APIs, because despite Vulkan's explicitness, many concepts still work the same.
Expand Down
Loading