OpenGL 3D Game Tutorial 31: Normal Mapping
LWJGL tutorial series on how to create a 3D Java game with OpenGL!
Implementing normal mapping this week!
Support the series on Patreon: https://www.patreon.com/thinmatrix
Normal map renderer & OBJ loader code packages:
https://www.dropbox.com/sh/man3j36w56tnkiq/AABN4aGJDzT15Iy8ZighD3O9a?dl=0
Normal mapped models & textures (incl. barrel model):
https://www.dropbox.com/sh/8g3yify9g479ujo/AACN_nq7iwiLRXdSHKEDOZu9a?dl=0
Full Code Download:
https://www.dropbox.com/sh/4ifgxiwfcw2tztf/AAAyP76EUZuXXD-JNSDDvxlqa?dl=0
Tangent Calculations Explained:
http://www.terathon.com/code/tangent.html
toTangentSpace Matrix Explained (ish, couldn't find a better explanation yet):
http://renderdan.blogspot.de/2006/05/rotation-matrix-from-axis-vectors.html
Upcoming tutorials:
- Rendering Text
- Particle Effects
- Random Terrain Generation
- Shadows
Future Tutorial Series:
- Game Audio
- Multiplayer
- Advanced Game Dev Concepts
- OpenGL Optimizing Techniques
Previous tutorial topics:
- Display
- VAOs and VBOs - Rendering a quad
- Rendering using glDrawElements
- Shader introduction
- Coloring using shaders
- Texturing
- Matrices, moving and rotating
- Loading 3D OBJ models
- Lighting I
- Lighting II
- Optimizations
- Transparency
- Fog
- Multitexturing
- Player Movement
- 3rd Person Camera
- Mipmapping
- Terrain Generation
- Terrain Collision Detection
- Texture Atlases
- GUIs/HUDs
- Multiple Light sources
- Point light attenuation
- Skybox
- Day/Night
- 3D Mouse Picking
- Water
- Cel Shading
- Normal Mapping
Tumblr: http://thinmatrix.tumblr.com/
Facebook Page: https://www.facebook.com/thinmatrix
Instagram: http://instagram.com/thin_matrix
Twitter: https://twitter.com/ThinMatrix
Check out my game on IndieDB: http://www.indiedb.com/games/socuwan
Contact me: thinmatrix@gmail.com
End of video music- Kai Engel, "Waking Stars":
http://freemusicarchive.org/music/Kai_Engel/Evening_Colors/01_-_Waking_Stars