Added compute ray tracing example to readme, added attributions
This commit is contained in:
parent
0458969f11
commit
84c362bf61
2 changed files with 12 additions and 5 deletions
17
README.md
17
README.md
|
|
@ -67,7 +67,7 @@ This example demonstrates the use of a 2D texture array with instanced rendering
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
## [Text overlay (Multi pass)](textoverlay/)
|
## [Text overlay (Multi pass)](textoverlay/)
|
||||||
<img src="./screenshots/textoverlay.png" height="96px" align="right" style="border:2px solid white; outline:2px solid black;">
|
<img src="./screenshots/textoverlay.png" height="96px" align="right">
|
||||||
|
|
||||||
Renders a 2D text overlay on top of an existing 3D scene. The example implements a text overlay class with separate descriptor sets, layouts, pipelines and render pass to detach it from the rendering of the scene. The font is generated by loading glyph data from a [stb font file](http://nothings.org/stb/font/) into a buffer that's copied to the font image.
|
Renders a 2D text overlay on top of an existing 3D scene. The example implements a text overlay class with separate descriptor sets, layouts, pipelines and render pass to detach it from the rendering of the scene. The font is generated by loading glyph data from a [stb font file](http://nothings.org/stb/font/) into a buffer that's copied to the font image.
|
||||||
|
|
||||||
|
|
@ -96,7 +96,7 @@ Vulkan interpretation of glxgears. Procedurally generates separate meshes for ea
|
||||||
## [Mesh loading and rendering](mesh/)
|
## [Mesh loading and rendering](mesh/)
|
||||||
<img src="./screenshots/basic_mesh.png" height="96px" align="right">
|
<img src="./screenshots/basic_mesh.png" height="96px" align="right">
|
||||||
|
|
||||||
Uses [assimp](https://github.com/assimp/assimp) to load and a mesh from a common 3D format including a color map. The mesh data is then converted to a fixed vertex layout matching the pipeline (and shader) layout descriptions.
|
Uses [assimp](https://github.com/assimp/assimp) to load a mesh from a common 3D format including a color map. The mesh data is then converted to a fixed vertex layout matching the shader vertex attribute bindings.
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
## [Mesh instancing](instancing/)
|
## [Mesh instancing](instancing/)
|
||||||
|
|
@ -210,13 +210,19 @@ Uses tessellation shaders to generate additional details and displace geometry b
|
||||||
## [(Compute shader) Particle system](computeparticles/)
|
## [(Compute shader) Particle system](computeparticles/)
|
||||||
<img src="./screenshots/compute_particles.jpg" height="96px" align="right">
|
<img src="./screenshots/compute_particles.jpg" height="96px" align="right">
|
||||||
|
|
||||||
Attraction based particle system. A shader storage buffer is used to store particle data and updated by a compute shader. The buffer is then used by the graphics pipeline for rendering. Demonstrates the use of memory barriers for synchronizing vertex buffer access between a compute and graphics pipeline
|
Attraction based particle system. A shader storage buffer is used to store particle on which the compute shader does some physics calculations. The buffer is then used by the graphics pipeline for rendering with a gradient texture for. Demonstrates the use of memory barriers for synchronizing vertex buffer access between a compute and graphics pipeline
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
## [(Compute shader) Ray tracing](raytracing/)
|
||||||
|
<img src="./screenshots/compute_raytracing.png" height="96px" align="right">
|
||||||
|
|
||||||
|
Implements a simple ray tracer using a compute shader. No primitives are rendered by the traditional pipeline except for a fullscreen quad that displays the ray traced results of the scene rendered by the compute shaders. Also implements shadows and basic reflections.
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
## [(Compute shader) Image processing](computeshader/)
|
## [(Compute shader) Image processing](computeshader/)
|
||||||
<img src="./screenshots/compute_imageprocessing.png" height="96px" align="right">
|
<img src="./screenshots/compute_imageprocessing.png" height="96px" align="right">
|
||||||
|
|
||||||
Demonstrates the use of a separate compute queue (and command buffer) to apply different convolution kernels on an input image.
|
Demonstrates the use of a separate compute queue (and command buffer) to apply different convolution kernels on an input image in realtime.
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
## [(Geometry shader) Normal debugging](geometryshader/)
|
## [(Geometry shader) Normal debugging](geometryshader/)
|
||||||
|
|
@ -240,7 +246,7 @@ Thanks to the authors of these libraries :
|
||||||
- [Open Asset Import Library](https://github.com/assimp/assimp)
|
- [Open Asset Import Library](https://github.com/assimp/assimp)
|
||||||
- [Tiny obj loader](https://github.com/syoyo/tinyobjloader)
|
- [Tiny obj loader](https://github.com/syoyo/tinyobjloader)
|
||||||
|
|
||||||
And a huge thanks to the Vulkan Working Group, Vulkan Advisory Panel, the fine people at LunarG and everyone from the different IHVs that helped me get the examples up and working on their hardware!
|
And a huge thanks to the Vulkan Working Group, Vulkan Advisory Panel, the fine people at [LunarG](http://www.lunarg.com), Baldur Karlsson ([RenderDoc](https://github.com/baldurk/renderdoc)) and everyone from the different IHVs that helped me get the examples up and working on their hardware!
|
||||||
|
|
||||||
## Attributions / Licenses
|
## Attributions / Licenses
|
||||||
Please note that (some) models and textures use separate licenses. Please comply to these when redistributing or using them in your own projects :
|
Please note that (some) models and textures use separate licenses. Please comply to these when redistributing or using them in your own projects :
|
||||||
|
|
@ -250,6 +256,7 @@ Please note that (some) models and textures use separate licenses. Please comply
|
||||||
- Astroboy COLLADA model copyright 2008 Sony Computer Entertainment Inc.
|
- Astroboy COLLADA model copyright 2008 Sony Computer Entertainment Inc.
|
||||||
- Bear mug model used in tessellation example by [Aare](http://opengameart.org/users/aare)
|
- Bear mug model used in tessellation example by [Aare](http://opengameart.org/users/aare)
|
||||||
- Textures used in some examples by [Hugues Muller](http://www.yughues-folio.com)
|
- Textures used in some examples by [Hugues Muller](http://www.yughues-folio.com)
|
||||||
|
- Updated compute particle system shader by [Lukas Bergdoll](https://github.com/Voultapher)
|
||||||
- Vulkan scene model (and derived models) by [Dominic Agoro-Ombaka](http://www.agorodesign.com/) and [Sascha Willems](http://www.saschawillems.de)
|
- Vulkan scene model (and derived models) by [Dominic Agoro-Ombaka](http://www.agorodesign.com/) and [Sascha Willems](http://www.saschawillems.de)
|
||||||
- Vulkan and the Vulkan logo are trademarks of the [Khronos Group Inc.](http://www.khronos.org)
|
- Vulkan and the Vulkan logo are trademarks of the [Khronos Group Inc.](http://www.khronos.org)
|
||||||
|
|
||||||
|
|
|
||||||
BIN
screenshots/compute_raytracing.png
Normal file
BIN
screenshots/compute_raytracing.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 196 KiB |
Loading…
Add table
Add a link
Reference in a new issue