Resources ========= This page provides a curated list of learning resources for topics related to Shaders, Computer Graphics, Mathematics, and Programming, categorized by source type. Courses / Tutorials ------------------- Computer Graphics ^^^^^^^^^^^^^^^^^ Introduction to Shaders (Unity Learn) [14]_ : Beginner Friendly A beginner-friendly introduction to shaders specifically for Unity game developers, covering basic concepts and practical examples. LearnOpenGL [4]_ A comprehensive online tutorial series that teaches you how to use OpenGL. It covers a wide range of topics from basic concepts to advanced rendering techniques. Scratchapixel [11]_ A website dedicated to teaching computer graphics from first principles, covering topics like rasterization, ray tracing, and global illumination. The Book of Shaders [10]_ : Beginner Friendly An introductory guide to fragment shaders. It's an excellent resource for beginners to understand the fundamentals of shader programming. WebGPU Fundamentals [16]_ : Beginner Friendly A comprehensive guide to WebGPU, which includes fundamental concepts of shader programming (WGSL) for web-based graphics. Mathematics ^^^^^^^^^^^ Essence of Calculus by 3Blue1Brown [1]_ Similar to the linear algebra series, this provides a visual understanding of calculus concepts. Essence of Linear Algebra by 3Blue1Brown [2]_ A visual and intuitive introduction to linear algebra, explaining core concepts with animations. Platforms / Tools ----------------- Computer Graphics ^^^^^^^^^^^^^^^^^ ShaderToy [12]_ : Beginner Friendly An online platform where users can create and share shaders, offering a visual and interactive way to learn shader programming through examples and experimentation. Programming ^^^^^^^^^^^ GeeksforGeeks [3]_ A popular platform for computer science and programming articles, tutorials, and interview preparations. Code Repositories ^^^^^^^^^^^^^^^^^ Lygia [6]_ A shader library that provides a collection of functions and utilities for real-time graphics. DirectXTK [8]_ A collection of helper classes for writing DirectX 11 and DirectX 12 applications. Tixl [13]_ A functional reactive programming library for graphics. Documentation ------------- Computer Graphics ^^^^^^^^^^^^^^^^^ DirectX-Specs (Microsoft) [7]_ Official documentation and specifications for DirectX, including HLSL. Essential for understanding the intricacies of shader development on DirectX platforms. HLSL (Microsoft Learn) [9]_ Official documentation for High-Level Shading Language (HLSL) from Microsoft Learn. OpenGL ES Shading Language (Khronos Group) [5]_ The official reference for GLSL ES, providing detailed specifications for writing shaders for OpenGL ES. Vulkan GLSL (Vulkan Docs) [15]_ Official documentation for GLSL in Vulkan from Vulkan Docs. References ---------- .. [1] 3Blue1Brown. *Essence of Calculus*. https://youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr&si=E8Sygk8ViNovV2ln .. [2] 3Blue1Brown. *Essence of Linear Algebra*. https://youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab&si=6QcJX6cvOFjU8VtU .. [3] GeeksforGeeks. https://www.geeksforgeeks.org/ .. [4] Joey de Vries. *LearnOpenGL*. https://learnopengl.com/ .. [5] Khronos Group. *OpenGL ES Shading Language*. https://www.khronos.org/registry/OpenGL/specs/es/3.2/GLSL_ES_Specification_3.20.pdf .. [6] Lygia. https://github.com/patriciogonzalezvivo/lygia .. [7] Microsoft. *DirectX-Specs*. https://microsoft.github.io/DirectX-Specs/ .. [8] Microsoft. *DirectXTK*. https://github.com/microsoft/DirectXTK .. [9] Microsoft Learn. *HLSL*. https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl .. [10] Patricio Gonzalez Vivo & Jen Lowe. *The Book of Shaders*. https://thebookofshaders.com/ .. [11] Scratchapixel. *Scratchapixel 3.0*. https://www.scratchapixel.com/ .. [12] ShaderToy. https://www.shadertoy.com/ .. [13] Tixl. https://github.com/tixl3d/tixl .. [14] Unity Learn. *Introduction to Shaders*. https://learn.unity.com/tutorial/introduction-to-shaders .. [15] Vulkan Docs. *Vulkan GLSL*. https://docs.vulkan.org/glsl/latest/index.html .. [16] WebGPU Fundamentals. https://webgpufundamentals.org/