Shaders

return red;

Shaders are small programs that runs at certain steps in a graphical pipeline. Older systems that do not support shaders are called a fixed function pipeline. The detail on how the shaders work and are setup depend on the Graphic Api one is using. There are is also computer shaders that can be used for graphic and other things.

Shader Language

The language used to write a shader depends on the graphical API used.

Type

Vertex (VS) - 2001

Tessellation (TCS/TES) - 2009

Geometry (GS) - 2008

Mesh Shader - 2020

Pixel (PS) / Fragment (FS) - 2001



Variable Rate Shading

Moving Gears to Tier 2 Variable Rate Shading

https://devblogs.microsoft.com/directx/gears-vrs-tier2/


Boost rendering performance with Variable Rate Shading | Game Developers Conference 2019 - 2020

[video] Tech Focus: What Is VRS And Is It A Next-Gen Game-Changer? Variable Rate Shading Analysis! - 2020

Iterating on Variable Rate Shading in Gears Tactics - 2020

Boost rendering performance with Variable Rate Shading | Game Developers Conference 2019 - 2019

Variable Rate Shading: a scalpel in a world of sledgehammers - 2019

Easy VRS Integration with Eye Tracking - 2019

Variable Rate Shading: first impressions - 2019

Iterating on Variable Rate Shading in Gears Tactics

Software-based Variable Rate Shading in Call of Duty: Modern Warfare - 2020


Shader Tutorials and Examples

Animated Light Cookie Shader (Cloud & Tree Shadows) - 2020

Dissolve Shader Breakdown - 2020

My take on shaders: Grass Shader (Part I) - 2019

Getting started with shaders: signed distance functions! - 2020

Sprite Glow/Outline Shader Breakdown - 2020

Paper Shader in Unity - 2020

Paper Burn Shader in Unity - 2020

Thermal/ Stealth Vision Effect - 2019

Making a Glass Shader, Part 1: GrabPass & Refraction - 2019

Making a Glass Shader, Part 2: Highlights & Reflections - 2019

Part 20: Post Processing Effects & Chromatic Aberration - 2019

Stylized Lava Shader - 2020

outline shader - 2019

Making a clean (mini)map using Navmesh and a Shader - 2020

Believable Caustics Reflections - 2019

Curving Corner Texture UVs - 2020

Four Color Gradient - 2020

Fur Shader Tutorial - 2019

Grass Shader - 2018

Shader Showcase Saturday: Part1 and Part2 - 2018

X-Ray Shader Tutorial in Unity - 2018

Flowmapped-Burn-Shader - 2018

Animated Candle Flame write-up - 2018

My take on shaders: Grass Shader (Part II) - 2019

Alpha to Coverage or Anti-Aliased Cutout - TUTORIAL

Retro 3D - 2015

Clipping Objects with a Plane - 2018

Multipass Shaders (& inverted Hull outlines) - 2018

Shader Showcase #5 Dripping Rain - 2018

Polygons - 2018

Technically Speaking Challenge 1: Retro Shaders

Fire Shader Breakdown

Blowing bubbles with Shader Graph

Math in Art

[video] Flowmaps, gradient maps, gas giants

Shader Studies: Matrix Effect

Watercolour Shader Experiments - 2020


Reference

Pixel Art Filtering - 2021

Gpu_driven_text - 2021

Implementing a GPU-driven debug line renderer - 2021

The Shader Permutation Problem - Part 1 & Part 2 - 2021

The case of the curiously slow shader - 2021

creating a Card Shader with 3D content - 2021

Fast Divergence-Free Noise Generation in Shaders - 2021

Shader translation benchmark on Dota2/Metal - 2021

Moving The Machinery to Bindless - 2021

Bindless Descriptors - 2021

Tier 2 Variable Rate Shading in Gears - 2021

how do you calculate correct normals when doing vertex displacement shaders? - 2021

Moving Gears to Tier 2 Variable Rate Shading - 2021

Intro to Shaders - 2021

Shader translation benchmark on Dota2/Metal - 2021

Fast Divergence-Free Noise Generation in Shaders - 2021

Compute shader 101 - 2021

How to read shader assembly - 2021

ShaderQuest Part 5: Shader code syntax & Colors - 2021

Practical Gaussian filtering: Binomial filter and small sigma Gaussians - 2021

ShaderQuest Series - 2021

Intro to Shaders - 2021

Announcing HLSL Shader Model 6.6 - 2021

Basic Shader Math - Shader Graph Basics - Episode 4 - 2021

Live Coding: Making the American flag with math! - 2021


Real-time Cubism Shader - 2020

Shaders For People Who Don't Know How To Shader: Deferred - 2020

Inverse Lerp and Remap - 2020

Shaders For People Who Don't Know How To Shader: Smooth blending with Sine - 2020

Depth-Based Post Effects - 2020

Accurate Normal Reconstruction from Depth Buffer - 2020

Creating shader animation in Unity - 2020

A little clarification on modern shader compile times - 2020

Graphics.DrawProcedural - 2020

What is shader occupancy and why do we care about it? - 2020

A Better Way to Scalarize a Shader - 2020

What is shader occupancy and why do we care about it? - 2020

A little clarification on modern shader compile times - 2020

System Value Semantics in Compute Shaders - Cheat Sheet - 2020

Using Mesh Shaders for Professional Graphics - 2020

What is shader occupancy and why do we care about it? - 2020

HSV Shader Graph – Hue Saturation Value - 2020

Hash Functions for GPU Rendering - 2020

System Value Semantics in Compute Shaders - Cheat Sheet - 2020

Writing Shader Code for the Universal RP - 2020

Case Study: Vector Displacement Mapping in Real-Time - 2020


3D Game Shaders For Beginners - 2019

Writing a Shader Effect Language Part 3: Materials - 2019

Advanced Map Shading - 2019

Improved normal reconstruction from depth - 2019

My take on shaders: Parallax effect (Part I) - 2019

Shader Convertion Part 2 (Liquid, Triplanar, Waterfall) - 2019

Halftone Shading - 2019

Unity 2019 Shader Development - 2019

Cross-Platform Shader Handling - 2019

3D Game Shaders For Beginners - 2019

2d Raymarched Smoke - 2019

ShaderEd - 2019

Writing a Shader Effect Language - 2019 - Part 1, Part 2 and Part 3.


Quality hashes collection WebGL2 - 2018

The Machinery Shader System (part 3) - 2018

Pseudo-bandlimited pixel art filtering in 3D – a mathematical derivation - 2018

Custom Shaders - 2018

Texture Arrays in Unity - 2018

Basic Math for Shaders - 2018

How I got started with shaders (Non-Scary Shader Intro) - 2018

Image Editor Effects - 2018

Writing Shaders in VS Code: GLSL Setup - 2018


Ubershaders: A Ridiculous Solution to an Impossible Problem - 2017

Physical shader framework for Unity - 2017

The Many Meanings of “Shader” - 2017

Evolution of Programmable Models for Graphics Engines - 2017


Technical Art of Uncharted 4 - 2015


Reflection System In Thief - 2014

Reflections And Volumetrics Of Killzone Shadow Fall - 2014


Pixel Synchronization: Solving Old Graphics Problems With New Data Structures - 2013

Intro to Shader Programming - 2013


Minimal setup screen space quads: No buffers/layouts required - 2012


Graphics Programming 4 - 2011


GPU based dynamic geometry LOD - 2010


There is no S in SDF without the Distance Fields!

Explore bindless rendering in Metal

Binding Bindlessly

Temporally Adaptive Shading Reuse for Real-Time Rendering and Virtual Reality


Floating-point in mobile shaders

https://solidpixel.github.io/2021/11/23/floats_in_shaders.html


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


[video] You Might Be Thinking About Shader Performance Wrong

https://www.youtube.com/watch?v=7YPPFIqUN84


The Shader Permutation Problem - Part 1: How Did We Get Here?

https://therealmjp.github.io/posts/shader-permutations-part1/


[video] Shader Coding for Beginners 2022 [Part 1]

https://m.twitch.tv/videos/1259390369


What is an uber shader? - 2021

http://psgraphics.blogspot.com/2021/12/what-is-uber-shader.html


fma: A faster, more accurate instruction

https://momentsingraphics.de/FMA.html



A Review of Shader Languages

https://alain.xyz/blog/a-review-of-shader-languages


Shader compiler tools

https://wickedengine.net/2022/04/23/shader-compiler-tools/


Variable Rate Compute Shaders on Xbox Series X|S

https://developer.microsoft.com/en-us/games/blog/variable-rate-compute-shaders-on-xbox-series-xs/


Variable Rate Shading, Tales from the Trenches on Series X|S

https://developer.microsoft.com/en-us/games/blog/variable-rate-shading,-tales-from-the-trenches-on-series-xs/