Skip to content

Latest commit

 

History

History
1210 lines (1105 loc) · 85.6 KB

File metadata and controls

1210 lines (1105 loc) · 85.6 KB

https://www.youtube.com/watch?v=57AcnwW4pxw https://youtu.be/34S3onEr3r8 https://natureofcode.com/book/ https://github.com/Chlumsky/msdf-atlas-gen https://www.youtube.com/watch?v=0VzE8ROwC58

Voxel resources: Streaming Connected Component Computation for Trillion Voxel Images - https://www.cs.unc.edu/~isenburg/papers/is-sccctvi-09.pdf GigaVoxels: Ray-Guided Streaming for Efficient and Detailed Voxel Rendering - https://maverick.inria.fr/Publications/2009/CNLE09/CNLE09.pdf MagicaVoxel voxel art editor - https://ephtracy.github.io/ Efficient Ray Tracing of Sparse Voxel Octrees - https://ntnuopen.ntnu.no/ntnu-xmlui/bitstream/handle/11250/2370620/567036_FULLTEXT01.pdf?sequence=1 MagicaVoxel MagicaVoxel Official Website for vulkan beginners that want a extra little abstraction in the beginning: https://vkguide.dev/ for vulkan beginners that want to start the hardcore plain vulkan way: https://vulkan-tutorial.com/ vulkan spec for looking up definitions and behaviour: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html Vulkan Guide Home Guide to the Vulkan API Introduction - Vulkan Tutorial A tutorial that teaches you everything it takes to render 3D graphics with the Vulkan API. It covers everything from Windows/Linux setup to rendering and debugging. pbr physically based rendering: http://www.pbr-book.org/3ed-2018/contents.html raytracing for beginners (raytracing in a weekend): https://raytracing.github.io/ introduction into general computer graphics (api agnostic): https://gabrielgambetta.com/computer-graphics-from-scratch/

  • Game Engine Architecture by Jason Gregory
  • Game Programming Patterns by Robert Nystrom
  • Real Time Collision Detection by Christer Ericson
  • Foundations of Computer Graphics by Steven Gortler
  • OpenGL Programming Guide (Kronos Group)

And for general software development I think everyone should read:

  • Clean Code by Robert Martin
  • Clean Architecture by Robert Martin
  • Working Effectively With Legacy Code by Michael C. Feathers
  • Headfirst Design Patterns by Freeman and Robson

And for C++ specifically, books that I found helpful were:

  • Effective C++ by Scott Myers
  • Elements of Programming Interviews in C++ For those that are interested in engine development this is a really cool open source engine that I have learned a lot from https://github.com/EQMG/Acid

Forward+ rendering: https://takahiroharada.files.wordpress.com/2015/04/forward_plus.pdf https://www.slideshare.net/takahiroharada/forward-34779335 https://wickedengine.net/2018/01/10/optimizing-tile-based-light-culling/ http://advances.realtimerendering.com/s2017/2017_Sig_Improved_Culling_final.pdf Sample implementation: https://github.com/bcrusco/Forward-Plus-Renderer

https://github.com/Graphics-Programming-Virtual-Meetup/Resources

https://realtimecollisiondetection.net/blog/?p=86

https://www.youtube.com/channel/UCS9CFdjdEcq_NhaSFb_P-yA/videos

https://alexanderameye.github.io/notes/rendering-outlines/

https://github.com/thedmd/imgui-node-editor http://asliceofrendering.com/scene%20helper/2020/01/05/InfiniteGrid/ ocornut/imgui#3384 https://github.com/Linkthehero2222/LittleVulkanEngine-Hpp/tree/master https://www.packtpub.com/product/3d-graphics-rendering-cookbook/9781838986193 https://vkguide.dev/ https://youtu.be/BR2my8OE1Sc https://github.com/Bricklou/littleVulkanEngine/blob/master/docs/links.md https://github.com/shader-slang/slang https://lesleylai.info/en/delve_into_cpp/

C++: https://www.learncpp.com/

Original vulkan tutorial: https://vulkan-tutorial.com/

others vulkan/game engine series: https://youtube.com/playlist?list=PLv8Ddw9K0JPg1BEO-RS-0MYs423cvLVtj https://youtube.com/playlist?list=PLlrATfBNZ98dC-V-N3m0Go4deliWHPFwT

Other repos for the series https://github.com/bricklou/littleVulkanEngine (mine)

sound suport (will be covered in a later video): https://youtube.com/playlist?list=PLalVdRk2RC6r7-4zciZ3LKc96ikviw6BS

2D lighting concept: https://youtu.be/0FZIKX1Y_8I

Vulkan memory synchronization: https://themaister.net/blog/2019/08/14/yet-another-blog-explaining-vulkan-synchronization/

Rasterization implementation: https://www.scratchapixel.com/lessons/3d-basic-rendering/rasterization-practical-implementation/overview-rasterization-algorithm

Render graphs: http://themaister.net/blog/2017/08/15/render-graphs-and-vulkan-a-deep-dive/

Textures mapping: https://vulkan-tutorial.com/Texture_mapping/Images

Normal mapping concept: https://youtu.be/6_-NNKc4lrk https://youtu.be/p-hA5KsY_Yg

Libraries: https://trenki2.github.io/blog/2017/06/02/using-sdl2-with-cmake/ https://github.com/gabime/spdlog

Input system: https://github.com/JohnCWakley/ezi

Event system: https://gameprogrammingpatterns.com/event-queue.html

Game structure: https://youtu.be/rX0ItVEVjHc https://eliasdaler.github.io/programming-and-gamedev-resources/

Entity component system: https://www.raywenderlich.com/2806-introduction-to-component-based-architecture-in-games https://austinmorlan.com/posts/entity_component_system/ https://ourmachinery.com/post/ecs-and-rendering/ https://gamedev.stackexchange.com/a/31491

Physics system: https://youtu.be/-_IspRG548E

Rendering: https://youtu.be/uZlwbWqQKpc https://www.cb.uu.se/~johan/grafik1_2015/instructions.pdf https://youtu.be/d4EgbgTm0Bg

Collisions: https://youtu.be/8b_reDI7iPM https://youtu.be/rjirHFVQAkY&start=600

Shaders: https://github.com/lettier/3d-game-shaders-for-beginners

C++ http://en.cppreference.com/w/ http://www.learncpp.com/ https://isocpp.org/wiki/faq/ https://www.youtube.com/user/CppCon/featured https://sourceforge.net/p/predef/wiki/OperatingSystems/ http://graphics.stanford.edu/~seander/bithacks.html https://github.com/AnthonyCalandra/modern-cpp-features

Graphics General https://www.scratchapixel.com/ https://advances.realtimerendering.com/ https://jcgt.org/read.html

Graphics Debugging https://renderdoc.org/ https://gpuopen.com/compute-product/codexl/ https://gpuopen.com/archive/gpu-perfstudio/

OpenGL http://docs.gl/ https://www.khronos.org/opengl/wiki/ http://www.opengl-tutorial.org/ https://learnopengl.com/ http://ogldev.atspace.co.uk/ http://nehe.gamedev.net/ https://open.gl/ https://paroj.github.io/gltut/index.html

DirectX http://www.rastertek.com/ http://www.directxtutorial.com/ https://msdn.microsoft.com/en-us/library/windows/desktop/dn899121(v=vs.85).aspx https://digitalerr0r.wordpress.com/2015/08/19/quickstart-directx-12-programming/ https://www.3dgep.com/

Vulkan https://vulkan-tutorial.com/ https://www.khronos.org/registry/vulkan/specs/1.2/html/vkspec.html https://vkguide.dev/ https://youtube.com/playlist?list=PL8327DO66nu9qYVKLDmdLW_84-yE4auCR https://github.com/SaschaWillems/Vulkan

Metal https://www.youtube.com/watch?v=PcA-VAybgIQ&list=PLEXt1-oJUa4BVgjZt9tK2MhV_DW7PVDsg

Game Engines https://google.github.io/filament/Filament.md.html https://sec.ch9.ms/ch9/e4db/22b970f5-4d3e-437c-bf77-317cd6fde4db/DotNetConfAndreiaGaita_high.mp4 https://github.com/shana/mono-embedding https://www.jacksondunstan.com/articles/3938 https://github.com/anydream/il2cpp https://github.com/mono/CppSharp https://github.com/Unity-Technologies/UnityCsReference https://youtube.com/c/GameEngineSeries

E-Books https://github.com/EbookFoundation/free-programming-books https://www.packtpub.com/packt/offers/free-learning General https://github.com/danistefanovic/build-your-own-x https://github.com/mr-mig/every-programmer-should-know https://ideone.com/ https://code.sololearn.com/

Programming Patterns http://gameprogrammingpatterns.com/ https://gafferongames.com/#posts https://refactoring.guru/design-patterns/catalog

Game Design https://www.youtube.com/user/McBacon1337 https://vitalzigns.itch.io/gdd

Math https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab https://www.youtube.com/playlist?list=PL7wAPgl1JVvUEb0dIygHzO4698tmcwLk9 https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/index.htm https://math.la.asu.edu/~surgent/video/ http://www.euclideanspace.com/ https://eater.net/quaternions

Build Configurators https://premake.github.io/docs/ https://ninja-build.org/ https://cmake.org/ https://mesonbuild.com/

Free Assets https://polyhaven.com/ https://www.wildtextures.com/ https://www.textures.com/ https://kenney.nl/ https://www.cgbookcase.com/textures https://ambientcg.com/ https://www.sharetextures.com/ https://noedle.com/ https://texture.ninja/ https://c4dcenter.com/material-library/

Rich Presences Visual Studio (2017): https://marketplace.visualstudio.com/items?itemName=swanzana.discord-rpc-vs Visual Studio (2019): https://marketplace.visualstudio.com/items?itemName=VisualDevelopment.drpcvs2019 Visual Studio Code: https://marketplace.visualstudio.com/items?itemName=icrawl.discord-vscode

Online Tools https://wandbox.org/ https://code2flow.com/app https://godbolt.org/ https://cppinsights.io/ https://youtu.be/b_WJ-HwalwU YouTube ACMSIGGRAPH SIGGRAPH University 2019 Course - An Introduction to Physics-Based ... Image https://www.youtube.com/watch?v=5j37DOD8q4U&list=PLTkE7n2CwG_PH09_q0Q7ttjqE2F9yGeM3&index=1 YouTube David Levin Physics-Based Animation Lecture 1 Image https://matthias-research.github.io/pages/tenMinutePhysics/index.html http://alextardif.com/LearningGraphics.html https://www.jendrikillner.com/post/d3d12-learning-plan/ https://graphics.pixar.com/usd/files/Siggraph2019_Hydra.pdf https://jo.dreggn.org/home/2010_atrous.pdf https://developer.nvidia.com/blog/rendering-in-real-time-with-spatiotemporal-blue-noise-textures-part-1/ https://people.cs.kuleuven.be/~philip.dutre/GI/ https://github.com/Graphics-Programming-Virtual-Meetup/resources#triangulated-line https://wwwtyro.net/2019/11/18/instanced-lines.html https://www.elsevier.com/books/high-dynamic-range-imaging/reinhard/978-0-12-374914-7 https://valdes.cc/articles/ch.html https://www.ppsloan.org/publications/StupidSH36.pdf http://www.cse.chalmers.se/~uffe/xjobb/Readings/GlobalIllumination/Spherical%20Harmonic%20Lighting%20-%20the%20gritty%20details.pdf https://gen-graphics.blogspot.com/2017/11/spherical-harmonics-in-graphics-brief.html https://simonstechblog.blogspot.com/2011/12/spherical-harmonic-lighting.html Lesley#3820 asks: VoxelSpace https://github.com/s-macke/VoxelSpace Lesley#3820 asks: Vulkan Pills 1: Bindless Textures https://jorenjoestar.github.io/post/vulkan_bindless_texture/ Lesley#3820 asks: Advanced Shading Techniques with Pixel Local Storage https://community.arm.com/arm-community-blogs/b/graphics-gaming-and-vr-blog/posts/advanced-shading-techniques-with-pixel-local-storage Lesley#3820 asks: Visual glBlendFunc + glBlendEquation Tool https://www.andersriggelsen.dk/glblendfunc.php Lesley#3820 asks: https://graphics.pixar.com/library/Compositing/paper.pdf Lesley#3820 asks: https://raphlinus.github.io/gpu/2021/11/17/prefix-sum-portable.html Thanks @deleted-user for suggestion Lesley#3820 asks: <vulkan-tutorial.com> Lesley#3820 asks: SIGGRAPH 2021 REAC: Unity Rendering Architecture https://www.youtube.com/watch?v=6LzcXPIWUbc Lesley#3820 asks: bitmap font renderer https://jmickle66666666.github.io/blog/techart/2019/12/18/bitmap-font-renderer.html Lesley#3820 asks: Improved Alpha-Tested Magnification for Vector Textures and Special Effects https://steamcdn-a.akamaihd.net/apps/valve/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf Lesley#3820 asks: Refterm Lecture Part 1 - Philosophies of Optimization https://www.youtube.com/watch?v=pgoetgxecw8 Lesley#3820 asks: Learn the Vulkan API with C++ - Udemy https://www.udemy.com/course/learn-the-vulkan-api-with-cpp/ Lesley#3820 asks: Rendering text - babylon.js https://babylonjs.medium.com/rendering-text-bf3bc53f7c2e Lesley#3820 asks: Strange Attractors on the GPU series https://observablehq.com/@rreusser/strange-attractors-on-the-gpu-part-1?collection=@rreusser/writeups Lesley#3820 asks: gfx-rs/wgpu https://github.com/gfx-rs/wgpu Lesley#3820 asks: gfx-rs/wgpu-native https://github.com/gfx-rs/wgpu-native Lesley#3820 asks: WebGPU Shading Language https://www.w3.org/TR/WGSL/ Lesley#3820 asks: Streamlining Render Passes https://www.khronos.org/blog/streamlining-render-passes https://shahriyarshahrabi.medium.com/introduction-to-color-theory-for-games-art-and-tech-67bd4c8607d7 https://www.youtube.com/watch?v=Jkv0pbp0ckQ https://www.youtube.com/watch?v=R-T3Mk5oDHI https://www.construct.net/en/blogs/ashleys-blog-2/porting-webgl-shaders-webgpu-1576 https://twitter.com/gdb/status/1426413510460772359 https://twitter.com/brianpeiris/status/1426358750684880896 https://www.youtube.com/watch?v=Zm9B-DvwOgw https://www.youtube.com/watch?v=TK1Py9QpNz0&t=9s https://openai.com/blog/openai-codex/

Links from discussions Real time optical wave field propagation Alexander Sannikov's youtube channel Russian Language explanation of precomputed grass raytracing Path traced dispersion, area lighting Sparse voxel signed distance octree ray-guided GPU streaming Dear Imgui profiler widget GPU Gems Chapter 20. Texture Bombing The Universe Within Shadertoy Effect LiveCoding - The Universe Within - Part 1 Effects - Direct3D 11 HLSL Semantics Vanilla JavaScript Text Animation Tutorial The Chaos Game 3D IFS fractal renderer and editor Sierpinski Tetrahedron tutorial in IFSRenderer Markov Chains for Text Generation BCn-texture-compression-formats Slides for this week

Basis Universal texture compression format S3 texture compression - basis for BCn Basis Universal Developer Twitter Picture Coding Using Pseudo- Random Noise JuanDiegoMontoya's github pages page Things raytracing does gooder This weeks graphics programming newsletter Percentage-Closer Soft Shadows Renderman Archive Debugging renderer 3/n - assertions Unreal 4 custom bloom SacriFire town walkthrough Weta Digital IBL guide - video Evolving the Path of Exile renderer Atomontage - dynamic voxelization Atomontage - open beta launch

vertex format - compression

vertex format - fetchvspull

The minimum number of triangles per draw call

[PatrickPurcell's Vulkan Wrapper/Helper]https://github.com/dynamic-static/dynamic_static.vulkan)

Gentle Introduction to Realtime Fluid Simulation for Programmers and Technical Artists

Fluid Simulation Implemented in Compute shaders in Unity 3D

[FluidSim in a tweet](https://mobile.twitter.com/flockaroo/status/1445084638800760836 https://github.com/doxas/twigl)

Perlin Noise in japanese

Compute Shader Gravity Demo https://www.rastergrid.com/blog/gpu-tech/2021/10/multisampling-primer/ https://therealmjp.github.io/posts/shader-permutations-part1/ https://therealmjp.github.io/posts/shader-permutations-part2/ https://juandiegomontoya.github.io/particles.html https://juandiegomontoya.github.io/particles_ii.html QGIS -> blender tutorial FastNoise2 World Machine JB's Erosion project Jaker's Ludum Dare 49 entry Free course on Discrete Differential Geometry Discrete Differential Geometry Youtube course Computer Graphics Youtube course S3 Texture Compression wiki page Understanding bcn texture compression formats Creative Use of GPU Fixed-Function Hardware Gentle introduction to GPUs inner workings Finishing the second half of Chapter 1 in https://vkguide.dev/

Leslie's Shader Complication CMake Code Example Usage of said code

Ludum Dare 49 Appearance Driven Automatic 3D - Fancy Mesh Decimation using Differentiable Rendering Differentiable Rendering Survey from 2006 Command Buffer LIfecycle reference VkQueueFamilyProperties More info about Vulkan Extensions AMD Adds their own best practices to the Best Practices layer Nanite in detail Distance Estimator Compendium Wavefront formulation raytracing Compute Shader Glossary Vulkan Subgroup tutorial. AKA wavefronts Free large graphics scene samples shadertoy smoothstep demo The Book of Shaders UE4 Custom Lens Flare Twitter thread of the author of UE4 Custom Lens Flare Twitter of Stephan Mangiat, Visual Music Artist This weeks graphics programming weekly newsletter JPEG post-processing effect for #Unity3D Nvidia's article on Variable Rate Shading Compile time 'game' in C++17 https://bottosson.github.io/misc/colorpicker/#f3afff https://twitter.com/floatvoid/status/1201710477274800134 Bitfont Glyph Parsing + Use in Voraldo Slides

Automated testing of a ray tracer Octohedral Imposters Real-time Realistic Rendering and Lighting of Forests [Video demonstration of Real-time Realistic Rendering and Lighting of Forests] (https://hal.inria.fr/hal-00650120/file/article.pdf) 3d graphics rendering cookbook Global Illumination based on Surfels Dynamic Ambient Occlusion and Indirect Lighting Slides for this week GPU Driven Rendering Stylelized grass GL Test Renderer Classic Video game model viewer https://github.com/3b1b/manim http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.115.1646&rep=rep1&type=pdf https://github.com/CampbellOwen/OneBitRender/blob/master/src/rasterizer.cpp https://github.com/Diamond-D0gs/Rasterizer-V3 http://filmicworlds.com/blog/visibility-buffer-rendering-with-material-graphs/ https://fgiesen.wordpress.com/2013/02/10/optimizing-the-basic-rasterizer/ http://www.aclockworkberry.com/shader-derivative-functions/ https://momentsingraphics.de/ToyRenderer4RayTracing.html https://github.com/microsoft/DirectXMath/ https://eater.net/8bit/ (A Parallel Algorithm for Polygon Rasterization) https://www.cs.drexel.edu/~david/Classes/Papers/comp175-06-pineda.pdf (Scratchapixel: Rasterization Stage) https://www.scratchapixel.com/lessons/3d-basic-rendering/rasterization-practical-implementation/rasterization-stage (3D Rasterization: A Bridge between Rasterization and Ray Casting) https://cg.ivd.kit.edu/publications/p2012/3dr/gi2012.pdf (The repository for my rasterizer) https://github.com/Diamond-D0gs/Rasterizer-V3 http://advances.realtimerendering.com/s2021/index.html, https://twitter.com/BrianKaris/status/1415853522755612674 https://jbaker.graphics/writings/sdf_path.html

http://phildec.users.sourceforge.net/Research/VolumetricBillboards.php

http://media.lolrus.mediamolecule.com/AlexEvans_SIGGRAPH-2015.pdf

https://www.museth.org/Ken/Publications_files/Museth_SIG17.pdf

https://www.boristhebrave.com/content/2018/04/dc_tee_comparison.svg

https://www.adobe.com/ca/products/medium.html

https://www.mediamolecule.com/blog/article/siggraph_2015

https://github.com/CampbellOwen/OneBitRender/blob/master/src/rasterizer.cpp

[Authors] https://twitter.com/PawPawDH https://twitter.com/olej3d

https://www.eurogamer.net/articles/digitalfoundry-2020-call-of-duty-modern-warfare-warzone-tech-deep-dive https://www.youtube.com/watch?v=Q1cuuepVNoY - [Introduction to DirectX Raytracing class] https://www.khronos.org/assets/uploads/developers/library/2020-khronos-spring/Vulkan-Ray-Tracing-Launch-Mar20.pdf - [about BVH construction] https://www.jendrikillner.com/post/graphics-programming-weekly-issue-174/ - [Jendrik Weekly 174] https://raphlinus.github.io/curves/2021/03/11/bezier-fitting.html - [Fitting cubic Bézier curves] http://www.elopezr.com/the-rendering-of-jurassic-world-evolution/ - [Jurrassic World: Evolution Frame Analysis] https://shadered.org/blog?id=7 - [SHADERed Debugging Features] https://kusma.xyz/blog/2021/03/10/d3d12-upstreaming.html - [OpenGL on DirectX] https://agraphicsguynotes.com/posts/making_a_shading_lagnauge_for_my_offline_renderer/ - [SORT Shading Language] https://github.com/AcademySoftwareFoundation/OpenShadingLanguage - [OpenShadingLanguage] https://shadertoyunofficial.wordpress.com/2021/03/09/advanced-tricks/ - [ShaderToy Advanced Tricks] https://gamemath.com/ - [3D Math Primer for Graphics and Game Development Book available online for free] https://web.archive.org/web/20190224074926/https://peach.blender.org/2008/01/approximate-ambient-occlusion/ - [spherical harmonics for ambient occlusion] https://lodev.org/cgtutor/fire.html - [old style fire effect tutorial] https://fabiensanglard.net/another_world_polygons/index.html - [The Polygons of Another World] https://en.wikipedia.org/wiki/Hackers:_Heroes_of_the_Computer_Revolution - [Hackers] https://en.wikipedia.org/wiki/Open_Letter_to_Hobbyists - [Bill Gates Open Letter to Hobbyists] https://www.goodreads.com/book/show/7090.The_Soul_of_a_New_Machine - [Soul of a New Machine] https://www.cs.purdue.edu/cgvlab/papers/popescu/2020IEEEVRFeatureGuidedPathRedirectionPopescu.pdf - [Feature Guided Path Redirection for VR]

[Age of Empires] https://arstechnica.com/gaming/2018/01/the-age-of-age-of-empires-as-told-by-the-devs-who-built-it/ https://www.shacknews.com/article/120300/bet-on-black-how-microsoft-and-xbox-changed-pop-culture-part-1?page=6#detail-view

[Yedoma Globula] https://bananaft.itch.io/yedomaglobula

[Signal Processing Discussion] [But what is the Fourier Transform? A visual introduction] https://www.youtube.com/watch?v=spUNpyF58BY

https://www.reddit.com/r/GraphicsProgramming/comments/m19ith/explain_to_me_like_i_am_5_using_spherical/ - [Spherical Harmonics]

[Nyquist-Shannon; The Backbone of Digital Sound] https://www.youtube.com/watch?v=pWjdWCePgvA

[Later Boat Game/Naval stuff] https://www.dreadnoughts.ultimateadmiral.com/ - [Ultimate Admiral Dreadnought] https://www.youtube.com/channel/UC4mftUX7apmV1vsVXZh7RTw - [Naval Historian Channel] https://graphics.stanford.edu/courses/cs448-05-winter/papers/nicodemus-brdf-nist.pdf http://www.cs.rpi.edu/~cutler/classes/advancedgraphics/S10/papers/lafortune94.pdf

You can find the old links at https://github.com/LesleyLai/gpvm-meeting-notes https://www.reddit.com/r/GraphicsProgramming/comments/lbq0uj/computer_graphics_from_scratch_now_as_a_real_book/ vulkan-diagrams

Vulkan SDK

Samples Khronos Group's Vulkan samples : https://github.com/KhronosGroup/Vulkan-Samples SaschaWillems' examples : https://github.com/SaschaWillems/Vulkan

Shader & SPIR-V Libraries:

Vulkan Hardware Database https://vulkan.gpuinfo.org/

Windowing Libraries:

Useful Vulkan Libraries**:

Sascha Willems https://www.saschawillems.de/tags/vulkan/ Tools

General Renderer Design Writing an Efficient Vulkan Renderer - https://zeux.io/2020/02/27/writing-an-efficient-vulkan-renderer/

Memory management AMD's VulkanMemoryAllocator - https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator Kyle Halladay's A Simple Device Memory Allocator For Vulkan - http://kylehalladay.com/blog/tutorial/2017/12/13/Custom-Allocators-Vulkan.html CPP-Rendering's Vulkan Memory Management : How to write your own allocator - https://cpp-rendering.io/vulkan-memory-management-2/ Nvidia's Vulkan Memory Management - https://developer.nvidia.com/vulkan-memory-management

Synchronization TheMaister's Yet another blog explaining Vulkan synchronization - https://themaister.net/blog/2019/08/14/yet-another-blog-explaining-vulkan-synchronization/ Khronos Group's Understanding Vulkan Synchronization - https://www.khronos.org/blog/understanding-vulkan-synchronization Timeline Semaphores - https://www.khronos.org/blog/vulkan-timeline-semaphores

Bindless / Descriptor indexing Vulkan Descriptor Indexing for Mobile - https://community.arm.com/developer/tools-software/graphics/b/blog/posts/vulkan-descriptor-indexing Khronos Talk on Descriptor Indexing - https://www.youtube.com/watch?v=tXipcoeuNh4 OurMachinery's Moving The Machinery to Bindless - https://ourmachinery.com/post/moving-the-machinery-to-bindless/Memory Wicked Engine: Bindless Descriptors - https://wickedengine.net/2021/04/06/bindless-descriptors/ DethRaid's Vulkan Descriptor Indexing - https://gist.github.com/DethRaid/0171f3cfcce51950ee4ef96c64f59617 A note on Descriptor Indexing - https://chunkstories.xyz/blog/a-note-on-descriptor-indexing/

Compute Vulkan Subgroup Tutorial - https://www.khronos.org/blog/vulkan-subgroup-tutorial BEGINNERS RESOURCES

How to learn vulkan - meta guide for framing how you learn https://www.jeremyong.com/c++/vulkan/graphics/rendering/2018/03/26/how-to-learn-vulkan/

General Vulkan Guide - like an FAQ https://github.com/KhronosGroup/Vulkan-Guide

Tutorials https://vkguide.dev/ https://vulkan-tutorial.com/ https://software.intel.com/content/www/us/en/develop/articles/api-without-secrets-introduction-to-vulkan-preface.html http://web.engr.oregonstate.edu/~mjb/vulkan/ https://marcelbraghetto.github.io/a-simple-triangle/ https://alain.xyz/blog/raw-vulkan

Vulkan in 30 minutes -- quick rundown of vulkan for the uninitiated https://renderdoc.org/vulkan-in-30-minutes.html

Vulkan Resources List Super page of links https://github.com/vinjn/awesome-vulkan

Compute specific https://github.com/SaschaWillems/Vulkan#compute-shader https://nvpro-samples.github.io/vk_mini_path_tracer General Computer Graphics LearnOpenGL - https://learnopengl.com/ Catlikecoding - https://catlikecoding.com/ Book Of Shaders - https://thebookofshaders.com/

Normal Mapping - https://www.gamasutra.com/blogs/RobertBasler/20131122/205462/Three_Normal_Mapping_Techniques_Explained_For_the_Mathematically_Uninclined.php?print=1 Shader Derivative Functions (useful for normals) - http://www.aclockworkberry.com/shader-derivative-functions/

Compute Glossary - https://github.com/googlefonts/compute-shader-101/blob/main/docs/glossary.md

Guide on writing a (C++) Vector Math Library - https://www.reedbeta.com/blog/on-vector-math-libraries/ YouTube Channels & Videos TU Wien Computer Graphics Vulkan Lecture Series https://www.youtube.com/playlist?list=PLmIqTlJ6KsE1Jx5HV4sd2jOe3V1KMHHgn

Brendan Galea - https://www.youtube.com/channel/UC9pXmjxsQHeFH9vgCeRsHcw

Arseny Kapoulkine Engine Series - https://www.youtube.com/watch?v=BR2my8OE1Sc&list=PL0JVLUVCkk-l7CWCn3-cdftR0oajugYvd&index=1 Best Practices Guides -- Desktop -- AMD - https://gpuopen.com/performance/ Intel - https://software.intel.com/content/www/us/en/develop/articles/developer-and-optimization-guide-for-intel-processor-graphics-gen11-api.html Nvidia - https://developer.nvidia.com/blog/vulkan-dos-donts/

-- Mobile -- ARM - https://developer.arm.com/solutions/graphics-and-gaming/developer-guides/advanced-guides/mali-gpu-best-practices ARM FAQ - https://community.arm.com/developer/tools-software/graphics/b/blog/posts/vulkan-best-practices-frequently-asked-questions-part-1 Qualcomm - https://developer.qualcomm.com/docs/adreno-gpu/developer-guide/gpu/gpu.html

-- Raytracing -- https://developer.nvidia.com/blog/best-practices-using-nvidia-rtx-ray-tracing/ https://developer.nvidia.com/blog/rtx-best-practices/ https://gpuopen.com/performance/#raytracing Raytracing Extended Samples https://github.com/KhronosGroup/Vulkan-Samples/tree/master/samples/extensions/raytracing_extended

Nvidia vk_mini_path_tracer https://nvpro-samples.github.io/vk_mini_path_tracer/index.html https://nvpro-samples.github.io/vk_raytracing_tutorial_KHR/ Day 1 Training - Ensure Correct Vulkan Synchronization by Using Synchronization Validation: https://www.youtube.com/watch?v=JvAIdtAZnAw Day 1 Training - Building a Vulkan Layer in Symbiose Within the Vulkan Ecosystem: https://www.youtube.com/watch?v=TTc7FDXg3h4 Day 2 Talks and Ask the Experts - https://www.youtube.com/watch?v=0zCxpMS7ul0 Vulkanised Quick Links - https://www.khronos.org/developers/linkto/vulkanised-quick-links Vulkanised 2021 Q&A Summary - https://www.khronos.org/developers/linkto/vulkanised-2021-qa-summary Vulkanised Presentations - https://www.khronos.org/events/vulkanised-2021 https://youtu.be/ENOh4KLGJxY https://www.elopezr.com/temporal-aa-and-the-quest-for-the-holy-trail/ https://developer.nvidia.com/blog/rendering-in-real-time-with-spatiotemporal-blue-noise-textures-part-1/ Rendering Point Clouds with Compute Shaders and Vertex Order Optimization https://www.cg.tuwien.ac.at/research/publications/2021/SCHUETZ-2021-PCC/SCHUETZ-2021-PCC-paper.pdf https://docs.google.com/presentation/d/1LlmUR0Uoh4dgT3DjanLjhlXrk_5W2nJBDqDAMbhe8v8/edit#slide=id.gc07f32a42d_0_17) //tunnel to your local host https://ngrok.io/ https://www.youtube.com/watch?v=2GYXuM10riw https://www.youtube.com/watch?v=Uea9Wq1XdA4 https://youtu.be/0TzgFwDmbGg https://youtu.be/eviSykqSUUw?list=PLabw4gCouThkLIavA-dn4QDmJ_3tqH4LK https://castingrays.blogspot.com/2014/01/voxel-rendering-using-discrete-ray.html https://old.reddit.com/r/VoxelGameDev/comments/qfbbo2/im_working_on_combining_3d_audio_with_raytracing/ https://github.com/DavidWilliams81/cubiquity https://github.com/isl-org/Open3D https://www.youtube.com/watch?v=CskxkIepX6Y https://github.com/recp/gpu https://github.com/czq142857/NDC https://github.com/msqrt/shader-printf https://github.com/ashima/webgl-noise/wiki https://www.youtube.com/watch?v=tI70-HIc5ro https://youtu.be/fOV7I-nmVXw https://youtu.be/ARYP83yNAWk http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1947r0.pdf http://exceptionsafecode.com/slides/esc.pdf https://youtu.be/yG4ChOPyC-4 https://gist.github.com/MrSmith33/f210a7cbd79f6c5446a93dd044ec371e https://www.gamasutra.com/blogs/MatthieuDelaere/20210809/386278/Introduction_to_Caching_Shading_Information_in_World_Space_using_Implicit_Progressive_Low_Discrepancy_Point_Sets.php http://advances.realtimerendering.com/s2021/Karis_Nanite_SIGGRAPH_Advances_2021_final.pdf https://medium.com/@bromanz/axis-aligned-bounding-tetrahedra-and-octahedra-for-ray-tracing-bounding-volume-hierarchies-683751d84bca https://www.reddit.com/r/nvidia/comments/oneed1/nvidia_publicly_released_general_version_of_dlss/?utm_medium=android_app&utm_source=share https://mattgemmell.com/what-have-you-tried/ https://rauwendaal.net/2014/06/14/rendering-a-screen-covering-triangle-in-opengl/ http://simonrodriguez.fr/dragon/ https://raytracing.github.io/books/RayTracingInOneWeekend.html https://learnopengl.com/ https://casual-effects.com/data/# http://graphics-programming.org/resources/ https://www.realtimerendering.com/intersections.html https://graphicscompendium.com/index.html https://people.cs.kuleuven.be/~philip.dutre/GI/ https://casual-effects.com/data/ http://igorsklyar.com/system/documents/papers/4/fiscourse.comp.pdf https://chrisbrejon.com/cg-cinematography/chapter-1-5-academy-color-encoding-system-aces/ https://www.youtube.com/watch?v=UgaQCg-0ZoU&ab_channel=CppCon DirectX 11: https://www.3dgep.com/introduction-to-directx-11/ DirectX 12: https://www.3dgep.com/category/graphics-programming/directx/directx-12/ https://gafferongames.com/post/fix_your_timestep/ https://nvpro-samples.github.io/vk_mini_path_tracer/ https://lettier.github.io/3d-game-shaders-for-beginners/index.html https://ourmachinery.com/post/a-debugging-story/ https://www.cl.cam.ac.uk/teaching/1819/FGraphics/Further%20Graphics%202018-2019%20(6-up).pdf https://www.youtube.com/watch?v=45MIykWJ-C4 https://www.youtube.com/c/BrendanGalea/videos https://www.youtube.com/watch?v=hRL56gXqj-4&list=PLU2nPsAdxKWQYxkmQ3TdbLsyc1l2j25XM https://www.youtube.com/watch?v=dHPuU-DJoBM&list=PLv8Ddw9K0JPg1BEO-RS-0MYs423cvLVtj https://www.youtube.com/playlist?list=PLqCJpWy5Fohd3S7ICFXwUomYW0Wv67pDD https://computergraphics.stackexchange.com/questions/12273/gimbal-lock-confusion/12275#12275 https://youtu.be/Idlv83CxP-8 https://github.com/QianMo/Real-Time-Rendering-4th-Bibliography-Collection https://matlib.gpuopen.com/main/materials/all?s=09 (its by GPU open) thx (@rtarun) https://github.com/kevinmoran/BeginnerDirect3D11 https://www.braynzarsoft.net/viewtutorial/q16390-braynzar-soft-directx-11-tutorials

https://github.com/GraphicsProgramming/deccer-cubes