How I Implemented Shadows in my Game Engine

preview_player
Показать описание
Devlog video about "Homegrown", a casual farming game I'm creating using my own engine.

Support the channel on Patreon and get access to the code for this game, the city-builder, and Equilinox:

My previous game "Equilinox":

You can follow the progress of the game on my social media:

Background music by Jamal Green:

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

I have actually missed this more technical content a bit. Concise yet excellent explanation!

CodingDragon
Автор

I, for one, feel that this video was much more than just "a little bit interesting"! I gain a lot from you diving in on the technical details. It's particularly interesting when you cover how your approach to a certain graphical problem has become more sophisticated over the course of time and your projects.

... Don't get me wrong, though : it's also always great to see the dishes you cook, your balcony garden, and the landscape around where you live, like in a regular dev log! 🙂

landru
Автор

Another fix you could try for the shadow shimmering on movement is to add a small offset to the projection matrix for the shadow map that ensures that all world coordinates will always “snap” to the same shadow map texels, IIRC done by taking a fixed world space point (the origin) and transforming it into shadow space and then finding its offset from the center of a texel in shadow map space (where the texture sample round to) and using that, transformed back into shadow projection from shadow texture space, to offset the projection matrix.
maybe a little complicated though when you already have a good enough solution :) the graphics are looking great!

jdh
Автор

"technical and boring" sounds good to me :)

MattieBW
Автор

I really really love technical content like this. Maybe it's not the most popular amongst other subscribers but I'll always watch it! Super fascinating to someone like me who doesn't have any graphics programming experience but wants to learn.

cineblazer
Автор

I really enjoy this kind of video! I know you can't always do technical stuff but its really interesting and cool to see stuff more in depth!

AjAce
Автор

Seeing your project and this game take shape is heart-whelming!

massimogalliano
Автор

Have you heard of "Variance Shadow Mapping"? This is a simple mathematical way of achieving very smooth shadows without the need of introducing many samples, and it also solves the shadow-acne problem. Maybe this would be worth exploring for the game... :)

erikbrendel
Автор

Loving the series. For what it is worth some of us love "technical and boring."

enotirab
Автор

Here's what i can recommend for moving/resizing the shadowmap: keep it a bit bigger than the view area AND re-calculate it every frame (if the camera didnt move, you keep the current "target")

instead of fully applying the "new" dimensions immediately, interpolate between the old and the new one in a ratio of about 85 to 15 with the new one being 85% responsible for the new image. This way you're getting rid of the sudden shifting and you're able to keep the shadow maps size much smaller than previously, improving the shadows quality

SomeNussi
Автор

The solutions you come up with are always incredible

SpikeStudio
Автор

thanks very much for taking the time to do this. Love the insight of 3D graphics. While I'm a decent programmer this is outside my normal area of business applications. Its amazing how much processing can take place in every frame using GPU, while our business app processing seem very slow in comparison.

davidberry
Автор

The only bad thing about watching your dev logs is that they inspire me to drop everything and make my own game engine

nhuvunguyen
Автор

Dude thank you for everything. Seeing your videos pop on to my timeline really brightens my day.

ryanwood
Автор

Been using the basics of your old Shadow mapping tutorial in my own engine ever since. Some of these ideas you shared today are definitely worth looking into!

Mystixor
Автор

This was super interesting honestly! Seeing how you go about tackling issues, to me is very cool, it's nice to see your train of thought with it all!

GamesBySaul
Автор

So happy that you are doing consistent uploads now! Been watching since you were developing Equilinox and watching your dev logs has never gotten boring!

George-siiv
Автор

This might be the best video by far done by yourself.
Thank you for all the effort you put it every time, it pays off for the viewer and hopefully yourself as well!

MichiGombocz
Автор

Wow I never have seen such a high level explanation on how shadows work in 3d games. Thanks for this vid!

Seff
Автор

it was looking great with the last graphics but now? holy smokey this is amazing. keep it up

MrA