Last active
June 29, 2023 19:39
-
-
Save Darianopolis/8df387d56a62ab2cabd9d115a3ad9394 to your computer and use it in GitHub Desktop.
Useful Links
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-------------------------------------------------------------------------------- | |
-- Graphics | |
-------------------------------------------------------------------------------- | |
Vulkan | |
**** TL;DR - Getting Started **** | |
1) VK Tutorial: https://vulkan-tutorial.com/ | |
2) Sync blog post: http://themaister.net/blog/2019/08/14/yet-another-blog-explaining-vulkan-synchronization/ | |
3) VK Lecture Series: https://www.youtube.com/watch?v=tLwbj9qys18&list=PLmIqTlJ6KsE1Jx5HV4sd2jOe3V1KMHHgn | |
4) VK Guide: https://vkguide.dev/ | |
5) Docs: https://registry.khronos.org/vulkan/specs/1.3-extensions/html/index.html | |
Docs: https://registry.khronos.org/vulkan/specs/1.3-extensions/html/index.html | |
Tutorials | |
https://vulkan-tutorial.com/ | |
https://vkguide.dev/ | |
https://www.intel.com/content/www/us/en/developer/articles/training/api-without-secrets-introduction-to-vulkan-preface.html | |
VK Game Engine Series: https://www.youtube.com/playlist?list=PL8327DO66nu9qYVKLDmdLW_84-yE4auCR | |
VK Lecture Series: https://www.youtube.com/watch?v=tLwbj9qys18&list=PLmIqTlJ6KsE1Jx5HV4sd2jOe3V1KMHHgn | |
Dynamic rendering: https://lesleylai.info/en/vk-khr-dynamic-rendering/ | |
Ray Tracing: https://nvpro-samples.github.io/vk_raytracing_tutorial_KHR/#introduction | |
Bindless: https://henriquegois.dev/posts/bindless-resources-in-vulkan/ | |
Descriptor buffer: https://www.khronos.org/blog/vk-ext-descriptor-buffer | |
Synchronization: http://themaister.net/blog/2019/08/14/yet-another-blog-explaining-vulkan-synchronization/ | |
ImGui: https://frguthmann.github.io/posts/vulkan_imgui/ | |
Shader Objects: https://www.khronos.org/blog/you-can-use-vulkan-without-pipelines-today | |
Examples: | |
Khronos: https://github.com/KhronosGroup/Vulkan-Samples | |
Sascha Willems: https://github.com/SaschaWillems/Vulkan | |
RenderDoc: | |
https://renderdoc.org/docs/getting_started/quick_start.html | |
Texture Compression: | |
KTX: https://www.khronos.org/ktx/ | |
https://github.com/richgel999/bc7enc_rdo | |
https://gpuopen.com/compressonator/ | |
Assimp: | |
Materials: | |
https://assimp-docs.readthedocs.io/en/v5.1.0/API/API-Documentation.html?highlight=aiMaterial#_CPPv410aiMaterial | |
https://assimp.sourceforge.net/lib_html/materials.html | |
glTF: | |
https://github.com/jkuhlmann/cgltf | |
Task Graphs: | |
https://levelup.gitconnected.com/organizing-gpu-work-with-directed-acyclic-graphs-f3fd5f2c2af3 | |
http://simonstechblog.blogspot.com/2019/07/render-graph.html | |
http://themaister.net/blog/2017/08/15/render-graphs-and-vulkan-a-deep-dive/ | |
https://www.jeremyong.com/rendering/2019/06/28/render-graph-optimization-scribbles/ | |
https://gist.github.com/rtryan98/c781e27d017e5ac45c76e884416b65fe#render-graphs | |
Culling: | |
Optimized AABB and OBB frustum culling: | |
https://www.cse.chalmers.se/~uffe/vfc_bbox.pdf | |
DirectX - D3D12 | |
Tutorials | |
https://www.3dgep.com/learning-directx-12-1/ | |
Bindless | |
https://blog.traverseresearch.nl/bindless-rendering-setup-afeb678d77fc | |
Decals, glyphs and outlines | |
GPU-Centered Font Rendering Directly from Glyph Outlines: | |
http://terathon.com/i3d2018_lengyel.pdf | |
Valve SDF for decals: https://steamcdn-a.akamaihd.net/apps/valve/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf | |
Outline techniques: https://alexanderameye.github.io/notes/rendering-outlines/ | |
Jump Flood: https://bgolus.medium.com/the-quest-for-very-wide-outlines-ba82ed442cd9 | |
Projections: | |
https://www.scratchapixel.com/lessons/3d-basic-rendering/perspective-and-orthographic-projection-matrix/orthographic-projection-matrix.html | |
Rasterization: | |
Triangle Filling: | |
http://www.sunshine2k.de/coding/java/TriangleRasterization/TriangleRasterization.html | |
https://learn.microsoft.com/en-us/windows/win32/direct3d11/d3d10-graphics-programming-guide-rasterizer-stage-rules | |
https://learn.microsoft.com/en-us/windows/win32/direct3d12/conservative-rasterization | |
Graphics from scratch: https://gabrielgambetta.com/computer-graphics-from-scratch/ | |
Perspective: https://www.youtube.com/watch?v=U0_ONQQ5ZNM | |
Depth: | |
https://nlguillemot.wordpress.com/2016/12/07/reversed-z-in-opengl/ | |
https://developer.nvidia.com/content/depth-precision-visualized | |
https://stackoverflow.com/questions/13711252/what-does-gl-fragcoord-z-gl-fragcoord-w-represent | |
Ambient Occlusion: | |
SSAO in Vulkan: https://developer.imaginationtech.com/blog/ambient-occlusion-in-vulkan/ | |
Light + Material shading techniques: | |
Forward+: https://takahiroharada.files.wordpress.com/2015/04/forward_plus.pdf | |
Clustered Shading: http://www.aortiz.me/2018/12/21/CG.html | |
Advances in Real-Time Rendering in Games: | |
http://advances.realtimerendering.com/s2016/ | |
Linear Algebra: | |
Quaternions on the GPU: https://tech.metail.com/performance-quaternions-gpu/ | |
Vertex packing: | |
Normal encoding: https://knarkowicz.wordpress.com/2014/04/16/octahedron-normal-vector-encoding/ | |
Camera | |
https://catlikecoding.com/unity/tutorials/movement/orbit-camera/ | |
PBR: | |
https://learnopengl.com/PBR/Theory | |
https://google.github.io/filament/Filament.md.html#materialsystem/standardmodel | |
Ray Tracing | |
RT Gems v1.9 (unofficial): | |
https://www.realtimerendering.com/raytracinggems/rtg/index.html | |
https://www.realtimerendering.com/raytracinggems/unofficial_RayTracingGems_v1.9.pdf | |
A Fast and Robust Method for Avoiding Self-Intersection | |
https://link.springer.com/chapter/10.1007/978-1-4842-4427-2_6 | |
Phong shaded RT in Unity: | |
https://www.cs.princeton.edu/courses/archive/fall16/cos526/papers/importance.pdf | |
http://blog.three-eyed-games.com/2018/05/12/gpu-path-tracing-in-unity-part-2/ | |
Sampling: | |
https://cas.ee.ic.ac.uk/people/dt10/research/rngs-gpu-mwc64x.html | |
http://l2program.co.uk/900/concentric-disk-sampling | |
https://jcgt.org/published/0007/04/01/paper.pdf | |
Ray Cones: | |
https://d1qx31qr3h6wln.cloudfront.net/publications/Akenine-Moller2021LOD.pdf | |
PBRT: | |
https://www.pbrt.org/ | |
https://pbr-book.org/ | |
RT Gems: https://link.springer.com/content/pdf/10.1007%2F978-1-4842-7185-8.pdf | |
ReSTIR paper: https://research.nvidia.com/sites/default/files/pubs/2020-07_Spatiotemporal-reservoir-resampling/ReSTIR.pdf | |
ReSTIR GI paper: https://research.nvidia.com/publication/2021-06_restir-gi-path-resampling-real-time-path-tracing | |
ReSTIR article: https://gamehacker1999.github.io/posts/restir/ | |
Manual BVHs: https://jacco.ompf2.com/2022/04/13/how-to-build-a-bvh-part-1-basics/ | |
SBTs explained: https://www.willusher.io/graphics/2019/11/20/the-sbt-three-ways | |
Denoising: | |
https://alain.xyz/blog/ray-tracing-denoising#accumulation | |
RT shadows: | |
Analytical: https://blog.imaginationtech.com/implementing-fast-ray-traced-soft-shadows-in-a-game-engine/ | |
Monte Carlo: https://medium.com/@alexander.wester/ray-tracing-soft-shadows-in-real-time-a53b836d123b | |
https://link.springer.com/content/pdf/10.1007%2F978-1-4842-4427-2_13.pdf | |
https://developer.download.nvidia.com/assets/events/GDC15/hybrid_ray_traced_GDC_2015.pdf | |
Disney BRDF | |
https://github.com/knightcrawler25/GLSL-PathTracer/blob/master/src/shaders/common/disney.glsl | |
https://github.com/schuttejoe/Selas/blob/dev/Source/Core/Shading/Disney.cpp | |
https://github.com/knightcrawler25/Optix-PathTracer/blob/master/src/optixPathTracer/disney.cu | |
https://www.shadertoy.com/view/XdyyDd | |
https://www.shadertoy.com/view/llGyRd | |
https://www.shadertoy.com/view/sltXRl | |
Model resources: | |
Rungholt and other models: https://casual-effects.com/g3d/data10/index.html | |
UI: | |
https://www.rfleury.com/p/ui-series-table-of-contents | |
https://github.com/rxi/microui | |
-------------------------------------------------------------------------------- | |
-- General | |
-------------------------------------------------------------------------------- | |
Fibers | |
Fibers by hand: https://graphitemaster.github.io/fibers/ | |
Virtual terminal sequences: | |
ANSI Colors: https://talyian.github.io/ansicolors/ | |
-------------------------------------------------------------------------------- | |
-- Windows | |
-------------------------------------------------------------------------------- | |
Query hardware | |
WMI Queries: | |
https://learn.microsoft.com/en-us/windows/win32/wmisdk/example--getting-wmi-data-from-the-local-computer | |
https://learn.microsoft.com/en-us/windows/win32/wmisdk/querying-wmi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment