Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
3

3d-game-shaders-for-beginners

> 编程语言
Open source

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

19.8K stars0 likes0 views
WebsiteGitHub

About

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

# 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)

GitHub Issues· 18 open

View all on GitHub
  • #33

    Windows10 - Run Demo with 100% GPU usage?

    Updated Jun 5, 2026
  • #44

    Have got an exception .bam file

    Updated Feb 18, 2026
  • #41

    No textures when running on MacOS

    Updated Jan 3, 2025
  • #10

    Using it in Three.js

    Updated Oct 31, 2023
  • #38

    Demo run crash, Intel iris, Ubuntu 20.04

    Updated Oct 31, 2023
  • #37

    How to configure builds for Windows users

    Updated Apr 23, 2023
  • #23

    Windows, can't load shaders!

    Updated Apr 22, 2023
  • #3

    Be more beginners friendly !

    Updated Dec 11, 2022
  • #28

    Demo crash on M1 macbook

    Updated Dec 11, 2022
  • #22

    :display:gsg:glgsg(warning): Project runs but shaders do not load correctly

    Updated Sep 29, 2022

Highlights

  • •Building The Demo
  • •Running The Demo
  • •Reference Frames
  • •Render To Texture
  • •Texturing
  • •Lighting
  • •Blinn-Phong
  • •Fresnel Factor
  • •Rim Lighting
  • •Cel Shading

> Tags

C++3d3d-graphicsgame-developmentgamedev

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言