• Stars
    star
    17,671
  • Rank 1,527 (Top 0.04 %)
  • Language
    C++
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐ŸŽฎ 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

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

Copyright

(C) 2019 David Lettier
lettier.com

More Repositories

1

gifcurry

๐Ÿ˜Ž The open-source, Haskell-built video editor for GIF makers.
Haskell
1,337
star
2

movie-monad

๐Ÿ“บ A free and simple to use video player made with Haskell.
Haskell
420
star
3

lambda-lantern

๐Ÿง™ โ€Žโ€Ž A 3D game about functional programming patterns. Uses PureScript Native, C++, and Panda3D.
PureScript
163
star
4

ntpclient

NTP client.
C
139
star
5

webviewhs

๐ŸŒ A Haskell binding to the webview library created by Serge Zaitsev.
Haskell
122
star
6

lda-topic-modeling

A PureScript, browser-based implementation of LDA topic modeling.
PureScript
102
star
7

parsing-with-haskell-parser-combinators

๐Ÿ” A step-by-step guide to parsing using Haskell parser combinators.
Haskell
91
star
8

interactiveknn

Interactive K-Nearest Neighbors machine learning algorithm in JavaScript.
JavaScript
82
star
9

isosurface

Isosurface extraction using Marching Cubes and pure WebGL.
JavaScript
70
star
10

hacker-feud

๐Ÿ’ฅ A single page web game made with Svelte.
HTML
65
star
11

emoji-bingo

๐Ÿ˜„ A single page web game made with Svelte.
HTML
33
star
12

purescript-pop

๐Ÿ˜ƒ A functional reactive programming (FRP) demo created with PureScript events and behaviors.
PureScript
33
star
13

dnsclient

A simple DNS client similar to nslookup. Does not use any DNS libraries.
Python
28
star
14

blender-keymap-trainer

โŒจ๏ธ Digital flashcards for memorizing Blender's shortcut keys.
Svelte
27
star
15

webglbowling

A WebGL, browser-based bowling game that uses real-time physics.
JavaScript
24
star
16

lettier.github.io

HTML
21
star
17

interviewquestions

A collection of solutions to various technical interview questions.
Python
19
star
18

interactive-simple-linear-regression

A PureScript, browser-based implementation of simple linear regression.
PureScript
18
star
19

blendersim

Multi-agent robot simulator created with Blender.
Python
17
star
20

slackotron

A plugin extensible Slack bot.
Python
16
star
21

interactivekmeans

Interactive HTML canvas based implementation of k-means.
JavaScript
15
star
22

shortestpath

An interactive HTML5 canvas graph that shows the shortest path between any two nodes.
JavaScript
12
star
23

sierpinski

Explorable 3D Sierpinski tetrahedrons rendered using WebGL.
JavaScript
9
star
24

dubulrubul

Dual-sided, breakout-like 2D game using PhysicsJS, PubSubJS, EaselJS, and FunctionalJS.
JavaScript
8
star
25

poing

Browser based pong clone featuring a neuro-evolved AI opponent.
JavaScript
6
star
26

matrix-inverse-calculator

Input a square matrix and calculate its inverse if possible.
PureScript
5
star
27

bbautotune

Blender/Bullet automatic parameter tuning/learning.
TeX
4
star
28

telnetclientclone

A limited functionality Telnet client clone written in C.
C
3
star
29

boids

Boids steering behaviors created in 3D using the Panda3D API.
Python
3
star
30

webserver

A simple HTTP web server.
Python
3
star
31

cryptohoppershouter

Two tools for the automation of encrypting files and then later distributing them via email.
Python
3
star
32

simpl

Pong player utilizing a feedforward neural network and evolutionary algorithm.
JavaScript
3
star
33

webclient

A simple web client that retrieves files via HTTP from an HTTP server.
Python
2
star
34

wumpusworld

Wumpus World written in Java.
Java
2
star
35

smtpclient

A simple SMTP client that uses either port 25 or 587 with TLS authentication.
Python
2
star
36

chatserver

Simple chat server.
Python
2
star
37

bullytextsms

Code screen for DoSomething.org.
JavaScript
1
star
38

javatrafficlight

Java applet that displays and allows control of a crude traffic light.
Java
1
star
39

javaclock

Ticking analog clock made in Java.
Java
1
star
40

javacheckerboard

Java applet of a checker board.
1
star
41

javamancalaboard

Java applet that displays a Mancala board.
Java
1
star
42

lettier.com

Code for the main website.
JavaScript
1
star
43

jobjar

A job search web application.
JavaScript
1
star