Skip to content

Latest commit

 

History

History
62 lines (45 loc) · 2.36 KB

File metadata and controls

62 lines (45 loc) · 2.36 KB

My Journey Through Shaders

Hello and thank you for stopping by! I am using this repository to learn about Shaders in Unity and HLSL.

I am doing it old style so no ShaderGraph or any nodebase editor. The reason is quite simple. I want to understand the underlying mechanisms for different shader techniques, plus I really enjoy playing around with math and matrices, so I think standard HLSL is the way to go.

I am using Unity 2019.4.18f1.

Content

The shaders are divided in different folders. At the moment I have shaders looking at the following

Basics

  • Color
  • Texture
  • Culling
  • ZBuffering
  • Zwrite/Alpha Blending
  • Matrix manipulations
  • Vertex animations
  • Drawing shapes on textures

Effects

  • Rim
  • Blur
  • Distortion
  • Face extruding
  • Dissolve
  • Lava (Jettelly based) - featuring parallax displacement
  • Lava (Jettelly based) - featuring parallax occlusion mapping
  • Outline
  • Water shader (credits to Harry) (in progress)
  • Texture Lerping

Challenges

These challenges have been done while following Harry discord channel (see bottom for more information)

  • Paper Lantern (surface shader with dissolve cutout texture to simulate burning) (in progress)

Shader toy

This is a bonus folder where I am starting to look at shaders from shadertoy and deconstruct them to understand them and create variants.

Resources

There are plenty of resources available out there which makes this learning fun and engaging at the same time

The Unity documentation is where to start. Together with the HLSL reference for the DirectX.

And finally here a list of amazing people sharing their knowledge with shaders. The list is mixed in terms of the level of techniques explained, but neverthless I think it useful to have a more broader idea of different uses for shaders.