Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/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.
https://github.com/lettier/3d-game-shaders-for-beginners
3d 3d-graphics game-development gamedev glsl glsl-shader glsl-shaders godot graphics graphics-programming hlsl indiedev opengl panda3d shader shaders unity unity3d vulkan webgl
Last synced: 22 days ago
JSON representation
๐ฎ A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
- Host: GitHub
- URL: https://github.com/lettier/3d-game-shaders-for-beginners
- Owner: lettier
- Created: 2019-05-12T22:08:45.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-06-25T21:58:57.000Z (over 1 year ago)
- Last Synced: 2024-09-30T18:01:57.339Z (about 1 month ago)
- Topics: 3d, 3d-graphics, game-development, gamedev, glsl, glsl-shader, glsl-shaders, godot, graphics, graphics-programming, hlsl, indiedev, opengl, panda3d, shader, shaders, unity, unity3d, vulkan, webgl
- Language: C++
- Homepage: https://lettier.github.io/3d-game-shaders-for-beginners/index.html
- Size: 33.2 MB
- Stars: 17,777
- Watchers: 404
- Forks: 1,373
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome - 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++)
- awesome-list - 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. (Graphic Libraries & Renderers / Data Management)
- AwesomeCppGameDev - 3d-game-shaders-for-beginners - by-step guide on how to implement SSAO, depth of field, lighting, normal mapping, and more for your 3D game. (Graphics)
- awesome-unity-open-source-on-github - 3d-game-shaders-for-beginners - how to implement SSAO, depth of field, lighting, normal mapping, and more (Sample Project)
- awesome - 3d-game-shaders-for-beginners - ๐ฎ A step-by-step guide on how to implement SSAO, depth of field, lighting, normal mapping, and more for your 3D game. (C++)
- awesome - 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++)
README
# 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
- [Setup](sections/setup.md)
- [Building The Demo](sections/building-the-demo.md)
- [Running The Demo](sections/running-the-demo.md)
- [Reference Frames](sections/reference-frames.md)
- [GLSL](sections/glsl.md)
- [Render To Texture](sections/render-to-texture.md)
- [Texturing](sections/texturing.md)
- [Lighting](sections/lighting.md)
- [Blinn-Phong](sections/blinn-phong.md)
- [Fresnel Factor](sections/fresnel-factor.md)
- [Rim Lighting](sections/rim-lighting.md)
- [Cel Shading](sections/cel-shading.md)
- [Normal Mapping](sections/normal-mapping.md)
- [Deferred Rendering](sections/deferred-rendering.md)
- [Fog](sections/fog.md)
- [Blur](sections/blur.md)
- [Bloom](sections/bloom.md)
- [SSAO](sections/ssao.md)
- [Motion Blur](sections/motion-blur.md)
- [Chromatic Aberration](sections/chromatic-aberration.md)
- [Screen Space Reflection](sections/screen-space-reflection.md)
- [Screen Space Refraction](sections/screen-space-refraction.md)
- [Foam](sections/foam.md)
- [Flow Mapping](sections/flow-mapping.md)
- [Outlining](sections/outlining.md)
- [Depth Of Field](sections/depth-of-field.md)
- [Posterization](sections/posterization.md)
- [Pixelization](sections/pixelization.md)
- [Sharpen](sections/sharpen.md)
- [Dilation](sections/dilation.md)
- [Film Grain](sections/film-grain.md)
- [Lookup Table (LUT)](sections/lookup-table.md)
- [Gamma Correction](sections/gamma-correction.md)## 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
- [Kiwi Soda Font](https://fontenddev.com/fonts/kiwi-soda/)
## Copyright
(C) 2019 David Lettier
[lettier.com](https://www.lettier.com)