OpenGL 3D Game Tutorial 31: Normal Mapping

preview_player
Показать описание
LWJGL tutorial series on how to create a 3D Java game with OpenGL!

Implementing normal mapping this week!

Normal map renderer & OBJ loader code packages:

Normal mapped models & textures (incl. barrel model):

Full Code Download:

Tangent Calculations Explained:

toTangentSpace Matrix Explained (ish, couldn't find a better explanation yet):

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

End of video music- Kai Engel, "Waking Stars":

Рекомендации по теме
Комментарии
Автор

Glad to see your Patreon is doing well.

DemonicGaming
Автор

This is actually really cool, so glad these tutorials exist or else I never would have found out about this :)

tonksonk
Автор

Next paycheck (later this week), I will back you up on patreon homie! Thanks for explaining all these details. When I read about this prior it was a little confusing conceptually but your little diagrams always help! Your tutorials, to me, are the benchmark of how other tutorials (of any topic) should amount to, unfortunately most don't exceed this expectation. Super duper tutorial :)

jasonjepson
Автор

I use this for my 2D lightning! Thank you for the video, I now understand it alot better!

morskipaskenny
Автор

Finished and everything work - Feeling so good :D

MohammedPlaysMC
Автор

Good, work! I just became a Patron yesterday; glad I can finally support you in some way!

CoDplayer
Автор

Hey Thin! Are you going to do an entity collision detection tutorial?

davidcf
Автор

Oh my god, your subscriber count is over 9000!

TheMathestar
Автор

im glad you released the full code because mine had couple errors and couldn't solve em

hassebritwin
Автор

Screw you YouTube! What if I want to subscribe more than once?

redd_cat
Автор

I've been trying for so long to get normal mapping working in my C++ game engine and it simply just doesn't work. It looks like the normals on my objects are facing in the wrong direction. For instance: if a normal is supposed to be facing +Y in world space, it ends up facing -X in world space which creates super weird effects.

Ruxify
Автор

I am working on a vertex animation texture system for unity and my normal maps show the I’ve seams and the lighting doesn’t look right. Could this be because I didn’t convert to tangent space correctly?

DrLobinshots
Автор

+ThinMatrix There's one little problem, if you walk away while looking a Normal Mapping Object, it doesn't fade away as everything in the game. How could we fix this? Pd: Congratulations for your 9000 subscribers and Equilinox! ;)

dbejarcaballero
Автор

If you're comfortable enough with them, a shadows tutorial would be pretty helpful.

Connorbub
Автор

I know it's a bit late, but what exactly is the difference between an 'in' variable and a 'uniform' variable?
Why didn't you use a uniform type variable at 12:45 ?

manaskale
Автор

+ThinMatrix hey bud sorry to hear about your kickstarter man but I still think it would have made an amazing game but are we ever going to get those performance tutorial like frustum culling

harleyracer
Автор

I can't figure out why but my normal mapped entities are being lit by point lights based on the distance of the camera from them. Anyone know what produces this bug?

EfficientJava
Автор

Karl, what about terrain normal mapping? Firstly, do high-graphics games use normal mapping on terrain? Second, if I were to implement normal mapping on the terrain in my engine, do I need tangent space? I would assume no because the terrain doesn't rotate like an entity does, but maybe I'm wrong.

wessleanonymous
Автор

Many Thanks @ThinMatrix for this Great Tutorials....any advise how to do the normal map on a Cube via TextureCubeMap?

mostafa
Автор

I think I watched every video that u posted ;)

ralebjeka