lettier/3d-game-shaders-for-beginners

🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.

C++

19,939

1 commits

updated Jun 25, 2023

See the code

README

3D Game Shaders For Beginners

3D Game Shaders For Beginners

Interested in adding textures, lighting, shadows, normal maps, glowing objects, ambient occlusion, reflections, refractions, and more to your 3D game? Great! Below is a collection of shading techniques that will take your game visuals to new heights. I've explained each technique in such a way that you can take what you learn here and apply/port it to whatever stack you use—be it Godot, Unity, Unreal, or something else. For the glue in between the shaders, I've chosen the fabulous Panda3D game engine and the OpenGL Shading Language (GLSL). So if that is your stack, then you'll also get the benefit of learning how to use these shading techniques with Panda3D and OpenGL specifically.

Table Of Contents

License

The included license applies only to the software portion of 3D Game Shaders For Beginners— specifically the .cxx, .vert, and .frag source code files. No other portion of 3D Game Shaders For Beginners has been licensed for use.

Attributions

(C) 2019 David Lettier
lettier.com

3d
3d-graphics
gamedev
game-development
glsl
glsl-shader
glsl-shaders
godot
graphics
graphics-programming
hlsl
indiedev
opengl
panda3d
shader
shaders
unity
unity3d
vulkan
webgl

lettier/3d-game-shaders-for-beginners

🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.

C++

19,939

1 commits

updated Jun 25, 2023

See the code

README

3D Game Shaders For Beginners

3D Game Shaders For Beginners

Interested in adding textures, lighting, shadows, normal maps, glowing objects, ambient occlusion, reflections, refractions, and more to your 3D game? Great! Below is a collection of shading techniques that will take your game visuals to new heights. I've explained each technique in such a way that you can take what you learn here and apply/port it to whatever stack you use—be it Godot, Unity, Unreal, or something else. For the glue in between the shaders, I've chosen the fabulous Panda3D game engine and the OpenGL Shading Language (GLSL). So if that is your stack, then you'll also get the benefit of learning how to use these shading techniques with Panda3D and OpenGL specifically.

Table Of Contents

License

The included license applies only to the software portion of 3D Game Shaders For Beginners— specifically the .cxx, .vert, and .frag source code files. No other portion of 3D Game Shaders For Beginners has been licensed for use.

Attributions

(C) 2019 David Lettier
lettier.com

3d
3d-graphics
gamedev
game-development
glsl
glsl-shader
glsl-shaders
godot
graphics
graphics-programming
hlsl
indiedev
opengl
panda3d
shader
shaders
unity
unity3d
vulkan
webgl

Significant stargazers

(top 24 of 123)

David CARLIER

264 followers · starred May 2019

Dmitri Shuralyov

2,541 followers · starred May 2019

Fedor Indutny

3,649 followers · starred May 2019

Fangjun Kuang

759 followers · starred Aug 2024