SHADOWS! // Hazel Engine Dev Log

  Рет қаралды 66,871

The Cherno

The Cherno

Күн бұрын

Пікірлер: 242
@bidkonic
@bidkonic 4 жыл бұрын
You now have to do intros with the kitty every time.
@justVontadeh
@justVontadeh 4 жыл бұрын
for archival purposes. We need to get to see how fast she grows and leave that documented!
@benu5365
@benu5365 4 жыл бұрын
Yes she looks so cute
@Rallion1
@Rallion1 4 жыл бұрын
I really enjoyed this blog style. The code stuff is cool but hearing your thought process and getting deeper into the concepts like this is far more valuable imo
@timbenton450
@timbenton450 4 жыл бұрын
CS student here. My school doesn’t have any game-related courses, so you ARE my game/C++ prof. More videos? Yes please!
@Red-di7zb
@Red-di7zb 4 жыл бұрын
Отличное имя у кошки =)
@kovesik
@kovesik 4 жыл бұрын
А как ее зовут?)
@kovesik
@kovesik 4 жыл бұрын
Черт, начал смотреть вчера, а досмотрел сегодня, поэтому забыл, this is ОЛИВКА!
@cunningfox146
@cunningfox146 4 жыл бұрын
Он русскоговорящий? Нифига, не знал
@alexanderhuliakov6012
@alexanderhuliakov6012 4 жыл бұрын
Starting a video with a cat is the best. (когда услышал имя на русском немного офигел сначала)
@woobie5649
@woobie5649 4 жыл бұрын
Приветствую земляков ! )
@F0RIS
@F0RIS 4 жыл бұрын
аналогично, произнес хорошо просто)
@Kitulous
@Kitulous 4 жыл бұрын
@@F0RIS Ян Черников (имя Черно) вам о чем-то говорит?
@UncoveredTruths
@UncoveredTruths 4 жыл бұрын
> "maybe in a few years I can just raytrace" HOO WEEE BOY, God I know that one all too well. I did a similar thing. I was working in reinforcement learning and there were some key problems, so I thought "oh you know I'll go do some work in supervised learning, hopefully by then the problems are alleviated". So a year goes by and the field has improved somewhat, but now the mindset is shifted toward mega-compute. So I think to myself, "okay well ill go spend the time in pure mathematics, and hopefully by the time I get back things will be more stable ...".
@tttopcattt
@tttopcattt 4 жыл бұрын
This is absolutely great stuff! You're work resonates to me incredibly! I'm both inspired and humbled by this type of effort. To be working on so much independently is phenomenal!
@ilyachistyakov47
@ilyachistyakov47 4 жыл бұрын
Оливка - огонь имя! Пусть теперь Оливка будет писать код с нами!
@Cd5ssmffan
@Cd5ssmffan 4 жыл бұрын
@Saran Pranavv Olive - lit name. Let Olive write code with us now.
@rishabg5583
@rishabg5583 4 жыл бұрын
what language is this?
@bamberghh1691
@bamberghh1691 4 жыл бұрын
@@rishabg5583 russian++
@ste1516
@ste1516 3 жыл бұрын
@@bamberghh1691 kek
@cjvink
@cjvink 4 жыл бұрын
I really love this devlog style! It's so valuable to hear your thoughts and process.
@mneher97
@mneher97 4 жыл бұрын
I really like this new style of going over your failed attempts. It helps in understanding your thought process! Keep it up, really nice video :)
@abdelhaksaouli8802
@abdelhaksaouli8802 2 жыл бұрын
4:12 the funniest thing ever heard since long time
@mastershooter64
@mastershooter64 4 жыл бұрын
next video: olivka: hey guys my name is the cherno and welcome back to the hazel dev log
@sasuke2910
@sasuke2910 4 жыл бұрын
This is a great vid, I'd love to see more general videos like this where you pick a topic and talk briefly about different implementations and their tradeoffs. It saves me a lot of research!
4 жыл бұрын
Very nice and huge thanks for giving us a fantastic insight into what goes on behind the scenes of writing a game engine. Much respect, Sir.
@jodyruben4097
@jodyruben4097 4 жыл бұрын
glad to see you back with the engine ! really enjoy all the devlog :D
@Mr-ut7nj
@Mr-ut7nj 4 жыл бұрын
"Almost none of the samples you find, are scalable" ABSOLUTELY!
@thehambone1454
@thehambone1454 4 жыл бұрын
Love this type of content! Need more theory out there! Especially for shadow mapping, ive had a hard time with it...
@aviationbutterr
@aviationbutterr 4 жыл бұрын
I love working on my engine while watching you.. So relaxing lol
@goodideas5659
@goodideas5659 4 жыл бұрын
Nice ! - adding shadows really makes the scene look so much better. Your engine is coming along nicely - congrats. My skill set is very low in game engines so most of your stuff is way above my understanding but can see all the hard work you have put into it at least...making my first game currently using an old game engine on it's last legs I guess but not terrible either (CopperCube 6) as I originally didn't want to learn to code at all....funny how that never eventuated. I now do 99% of my game in Javascript now...erhummm...
@rishikeshjoshi7786
@rishikeshjoshi7786 4 жыл бұрын
Just came here to thank cherno for everything he is doing . His C++ series and OpenGL series is what I am currently learning. Once I start earning I will surely contribute to Cherno . I love your efforts Cherno. I am currently 21 and love programming. Once again thanks and love from Uttrakhand , India.
@Meyu-Sys
@Meyu-Sys 4 жыл бұрын
Well I am doing the same I am from maharashtra
@rishikeshjoshi7786
@rishikeshjoshi7786 4 жыл бұрын
@@Meyu-Sys What do you do ? College ?
@Meyu-Sys
@Meyu-Sys 4 жыл бұрын
@@rishikeshjoshi7786 I am in 7th standard
@rishikeshjoshi7786
@rishikeshjoshi7786 4 жыл бұрын
@@Meyu-Sys Great ! All the best bro.. Make sure you don't mess up your genius by getting in rat race of marks and grades in school.
@Meyu-Sys
@Meyu-Sys 4 жыл бұрын
@@rishikeshjoshi7786 I don't really care about marks to be honest nor do my parents
@Domarius64
@Domarius64 3 жыл бұрын
4:26 "The Rabbit hole of Shadows" sounds like a creepy obscure novel.
@kariakistephen508
@kariakistephen508 3 жыл бұрын
Dude man you never give up!
@bastelwastel8551
@bastelwastel8551 4 жыл бұрын
Your content was already great.. With the cute kitten you just won the internet 😻
@alexo.o418
@alexo.o418 4 жыл бұрын
Shadows are such a fun and frustrating topic. A few alternative/complimentary techniques to shadow maps are screen space shadows which can be combined with shadow maps to enhance small details and soft shadows using signed distance fields. SDF shadows are used by the unreal engine to shadow objects outside the shadow map range. An interesting enhancement for cascaded shadow maps is a tight fit to the depth buffer range. This can be achieved by creating hierarchical depth containing the depth min/max. The light matrices can then be calculated in a compute shader to keep everything on the GPU. I think the Order 1886 used this technique. Shadow map sampling also has a bit of varierty. Besides the traditional "blocky" PCF sampling a lot of people use per pixel rotated poisson disks. An alternative is to use a spiral pattern as those have less sample overlap when rotated. And of course going fully stochastic with a low sample count and cleaning up with TAA. Another interesting approach is using screen space directional occlusion to approximate short soft shadows. Although I believe this is mainly used to provide shadowing for lights that can't afford a shadow map. This was originally used in Cryengine 3 and more recently in the Demon's Souls Remake.
@richardtoth7240
@richardtoth7240 4 жыл бұрын
dude! You are my favourite youtuber! Just love watching theese in hope of some day I'll understand it all
@pronova159
@pronova159 4 жыл бұрын
Yes, yes. More of this please!
@zephyrox2
@zephyrox2 4 жыл бұрын
I liked this devlog format very much!
@TheIgoorR
@TheIgoorR 3 жыл бұрын
Wait, Cherno, just realized... This was russian accent at "Оливка"?) Я в шоке) P.S. Крутое имя у кошки)
@unn0wn224
@unn0wn224 3 жыл бұрын
TheCherno : Explains shadow that .. shadow these.. Meanwhile Me Who doesn't even knows how to print something on the console : hmm...I see so that's how it is..
@sohankaushik7
@sohankaushik7 7 күн бұрын
Haha
@Tetsujinfr
@Tetsujinfr 4 жыл бұрын
Great job on Hazel shadows, keep it up!
@mohammednihad6755
@mohammednihad6755 4 жыл бұрын
I love this style of videos
@Mystixor
@Mystixor 4 жыл бұрын
Really sleek! I'm not close to being a game engine developer, but implemented shadow mapping a few months ago nonetheless. It took me quite a while and the shadows look very rough and overall just not polished but it was really fun and it makes all the difference when you're looking at your scene during development and it has shadows vs everything's kinda flat ;)
@geraltt1455
@geraltt1455 4 жыл бұрын
your scene and ui looks great
@LogicEu
@LogicEu 4 жыл бұрын
It looks amazing!! Congratulations!
@flobuilds
@flobuilds 4 жыл бұрын
Looks really good love the devlogs
@amekgomo4578
@amekgomo4578 4 жыл бұрын
love the dev logs ngl.
@amaanmahammad2296
@amaanmahammad2296 4 жыл бұрын
Great video! Cute kitty
@VlaDexa_MAX
@VlaDexa_MAX 4 жыл бұрын
Оливка. Я просто расплавился в улыбке
@AlexGolunga
@AlexGolunga 4 жыл бұрын
Hey Cherno, as someone interested in getting into audio programming, I’m wondering to what extent will Hazel have an audio engine?
@Lurieh
@Lurieh 4 жыл бұрын
About what you said in the beginning. I find working on code and pretty much any other creative work at the same time to be very hard. Let's say the brain is a workshop, once I've put out all the tools needed for coding, there's no space left for the tools needed by others type of jobs and I have to put all your code tools back in the cupboards before starting another job. Otherwise it's too messy to make sense of anything. But I know someone that doesn't seem to have this issue.
@microgamestation
@microgamestation 4 жыл бұрын
I really enjoy these more rambling videos.
@BlenderhilfeDe
@BlenderhilfeDe 4 жыл бұрын
nice cat! ahh shadows i mean... and really good video as allways! smooth :)
@Illuxel
@Illuxel 3 жыл бұрын
Оливкаа!
@LioncatDevStudio
@LioncatDevStudio 4 жыл бұрын
0:01 Ahhh yes the programmer cat has come! We will all be saved now!! Hail the programmer cat!!
@madeso
@madeso 4 жыл бұрын
9:39 (ish)... I hope when you are copying open source code into your own (not open source) code you are complying with the license. A quick search on github I found both things that are ok (mit och apache 2 for example) but also many things that are not (no license)
@theRPGmaster
@theRPGmaster 2 жыл бұрын
Accidental Swenglish :)
@luandkg
@luandkg 4 жыл бұрын
Best intro, hello Cherno, continue the Data Structures !
@elliotfriesen6820
@elliotfriesen6820 4 жыл бұрын
Woah that editor looks really good
@movax20h
@movax20h 4 жыл бұрын
For debugging things like cascades (and many other things in fact), you should have two types of cameras. 1) The game camera, that is what your rendering is based, all the frustrums, cascades, culling, LODs, etc. 2) Debug / editor camera, which allow you to actually move around, and see things from different viewpoints, without affecting any. If there are some shaders that take into account some view vectors, you might have additional option which camera to use.
@meanmole3212
@meanmole3212 4 жыл бұрын
Or just use RenderDoc.
@calecacciatore5422
@calecacciatore5422 4 жыл бұрын
"i should have just done what i was supposed to do.." haha, that s me, thoughts about my life, where it s going, every time.
@nikolaiarsenov1595
@nikolaiarsenov1595 4 жыл бұрын
Nice talk man! Beautiful kitten :3
@Imaltont
@Imaltont 4 жыл бұрын
I would say best solution for implementing some algorithm would be to mostly use the paper, and use some "random" code from github for reference if/when you you get stuck from the pure paper (which will happen). Haven't done this a lot for 3D graphics algorithms (yet), but it was my goto when doing more advanced AI algorithms in uni.
@maxemore
@maxemore 4 жыл бұрын
The next obvious step, of course, is to teach your cat how to code in c++
@aryanparekh9314
@aryanparekh9314 4 жыл бұрын
Love your videos 😻
@coolumar335
@coolumar335 4 жыл бұрын
Congrats on the kitteh - thanks for adopting :)
@elirannissani914
@elirannissani914 4 жыл бұрын
6:06 Yes! Yes! Yes!
@PedroOliveira-sl6nw
@PedroOliveira-sl6nw 4 жыл бұрын
Next time, we're doing Sprint Retrospective live :D
@jspt256
@jspt256 3 ай бұрын
Would love to see a video on how depth of field works
@zzocker77_hd26
@zzocker77_hd26 3 жыл бұрын
awsome work.
@jacasch3164
@jacasch3164 4 жыл бұрын
It would be nice to have other videos where you explain (conceptually) the algorithms for soft shadows or depth of field or what not.
@pouria2728
@pouria2728 4 жыл бұрын
Hi Cherno, How did you make this engine? I mean how did you start? You just made a file named hazel.cpp and started coding ? or you're using something like Qt Creator for the GUI?
@likestomeasurestuff3554
@likestomeasurestuff3554 3 жыл бұрын
The kitten killed me, thanks
@thegnosticatheist
@thegnosticatheist 4 жыл бұрын
Oliwka
@jonesy_b
@jonesy_b 4 жыл бұрын
OMG THAT CAT IS SO CUTE
@ventusstrife6715
@ventusstrife6715 4 жыл бұрын
Great! I would like to ask if there is idea of adding reflection to C++, and what other main functions of reflection in game development besides serialization and development of engine editors. Thanks!
@__jan
@__jan 4 жыл бұрын
Static reflection may come in c++23 or c++26
@ventusstrife6715
@ventusstrife6715 4 жыл бұрын
@@__jan that means we have to wait for 3 years at least...I.ve write an static reflection for cpp....But I don't know the specific usage requirements of reflection in game development to improve it.
@mettaursp309
@mettaursp309 4 жыл бұрын
@@ventusstrife6715 One use case that I use it for is scripting language binding. If you can bind member functions to a scripting language and create an API with that it'll drastically increase the flexibility of the engine. I did mine for Lua binding, and the method that I used was I defined functors to pull individual values off the stack, and called the member function with std::apply and an array of those functors. It's quite a bit more involved than member/data reflection, but it's well worth the investment.
@dingoDogMan
@dingoDogMan 4 жыл бұрын
He's back with a brand new cat!
@motbus3
@motbus3 4 жыл бұрын
doing with hazel and my life lol I've been thinking a lot about the last part too
@catinwall4256
@catinwall4256 4 жыл бұрын
I like this style.
@michaelmakam8336
@michaelmakam8336 4 жыл бұрын
Random question but where did you get your yellow duck water bottle from??
@jackwhite3468
@jackwhite3468 4 жыл бұрын
I like the style and length. maybe a bit too much talk in the beginning, I would have loved to see some of those other github projects you tried and what was wrong with them. Keep up the great work!
@lethaldumpster2699
@lethaldumpster2699 4 жыл бұрын
To some degrees, OMG this is better than UE4s lighting controls.
@theoathman8188
@theoathman8188 4 жыл бұрын
This is real time rendering for you. It a constant struggle to fake it until you make it. Make it here means a playing frame rate.
@PastaPig
@PastaPig 4 жыл бұрын
Hey, very cool video. I was just curious about something as I tried to implement PCSS a little while back, and I would have issues where if one object was directly in front of another (like a pole in front of a wider pole) with the light facing them dead-on, the blocker search would give a value closer to the front pole's depth when sampling for points that are behind them both, and the resulting shadow would have a high-penumbra streak in the shadow of the pole in the back. So essentially there would be like an inverted shadow of the front thin pole behind the back wide pole. Tweaks to the numbers for blocker search size and everything could fix for very specific cases, but never for general cases. Did you ever encounter this issue, and if so how did you work around it? Do the cascades fix this issue, as I did not get around to implementing those before dropping for variable penumbra for the time being, in favor of another solution (currently using prefiltered EVSM and it looks really nice, but that contact-hardening is still so nice).
@rootwayder77
@rootwayder77 4 жыл бұрын
Are you on USA or ....? Where can I get the hazel game engine demo thingi?
@RobSomeone
@RobSomeone 4 жыл бұрын
Bruh, wtf you're making a game engine and all anyone in the comments cares about is the cat.
@GTLugo
@GTLugo 4 жыл бұрын
We care about Hazel, we're just used to him making it by now. Hazel is amazing, but a cute cat always wins on the internet.
@ValentineC137
@ValentineC137 4 жыл бұрын
Game engines are temporary Cats are eternal
@asandax6
@asandax6 4 жыл бұрын
Welcome to the Internet where Cats rule.
@irgendeintypeiminternet781
@irgendeintypeiminternet781 4 жыл бұрын
Putting a cat in the thumbnail to get more views. Totally worked
@ghouldrago360
@ghouldrago360 4 жыл бұрын
Good job
@itsjusttmanakatech1162
@itsjusttmanakatech1162 3 жыл бұрын
Idk if this already exists. But, they should make a method where it combines shadow mapping and ray tracing. So for complex parts of shadow use ray tracing and use shadow mapping for other parts.
@channel11121
@channel11121 4 жыл бұрын
What's the outro music?
@GrayFoxGamingHD
@GrayFoxGamingHD 4 жыл бұрын
What do you want to archive versus what Unreal Engine 4 already does ? Technically/comercialy wise.
@treyquattro
@treyquattro 4 жыл бұрын
kitteh!!! Channel just became 100% more interesting
@blackfun4448
@blackfun4448 4 жыл бұрын
KEEP IT UP :D
@kursatyakupkukul7670
@kursatyakupkukul7670 4 жыл бұрын
what kind of music is that? I like it, feels like I could write code hearing that
@epic1343
@epic1343 4 жыл бұрын
YEESSSSSSSSSS
@revan1139
@revan1139 4 жыл бұрын
Shadows, finally!
@jacasch3164
@jacasch3164 4 жыл бұрын
To me it looks like the shadows are only softened in one axis (towards the light) is that for performance reasons? The shadows look really good though. I think the next step would be to integrate some nice Ambient Occlusion/GI.
@КостяКостин-ю1ь
@КостяКостин-ю1ь 4 жыл бұрын
hi! what did you user for UI? its c# WPF?
@IlknurMustafa
@IlknurMustafa 4 жыл бұрын
Hi Cherno, do you think it would be possible to post your livestreams for those who can't join due to timezone differences?
@jesseburstrom5920
@jesseburstrom5920 4 жыл бұрын
I had idea 1: You approach half open door it is light, with young people: meaning the leaders talk behind doors high loud bouncing sound. 2: The dark: a half open door leading to the cellar, ok you go down there have to light a torch still walk down the at far se a room with light coming out sound like merry go around sound really scary should you go there or not?! If look at the two images (world leaders, contra the center of the earth) interesting imaginative image
@mynameupdatesannually
@mynameupdatesannually 4 жыл бұрын
оливка))
@gelis07
@gelis07 9 ай бұрын
The sky lighterally made a night and day difference (pun intended), but really it made the scene from quite ugly to amazing.
@nextlifeonearth
@nextlifeonearth 4 жыл бұрын
Are you also going to implement shadow maps/baked lighting? I imagine that as long as one doesn't do something as silly as dynamic time of day, this could be a giant win in performance and visuals. It would probably need to be ray traced with something like Radeon Rays or something. I imagine Cinema 3D would be cost and license prohibitive.
@motbus3
@motbus3 4 жыл бұрын
don't knoe if I missed, but the shadow map is applied to the texture of the object?
@vince4417
@vince4417 4 жыл бұрын
What's your thoughts on GPU lightmass?
@cjaay4359
@cjaay4359 4 жыл бұрын
I remember turning on PCSS in GTAV and Far Cry 4 really tanks the performance of gtx 970
@rostislav3470
@rostislav3470 4 жыл бұрын
Люблю оливки
@maxi-g
@maxi-g 4 жыл бұрын
what about sub surface scattering ?
@robertmoats1890
@robertmoats1890 Жыл бұрын
The first time I tried to implement shadowmaps into my custom DX12 game engine, I tried to store the back buffer render target into a variable and re use that variable every frame, not even considering the fact that double buffering will mean that my variable is the wrong texture view pointer on every other frame. This lead to DirectX throwing a fit with unreadable _com_error exceptions, and me spending an entire day hunting down the problem. Not a fun experience. These are the things that get game developers. Trying to do complex stuff is not the problem. It's making stupid mistakes while in the process of trying to do the complex stuff. Anyway, I'm still in the process of implementing my shadowmaps, and just dealing with the shadowmap "view projection" transform is tough enough. In my engine, each visible room can have its own shadowmap transform, and I have to combine them all together into an overhead view that projects onto a single depth texture, where closer rooms are rendered at a larger scale. So I have to implement some form of "uv packing", where each room acts as a separate island. Lots of respect for implementing this into a custom game engine. It takes some work.
@GamingMyWholeLife
@GamingMyWholeLife 4 жыл бұрын
Have any thoughts on clothing physics in Games? I know it's expensive and so most developers will use it as little as possible (like a Scarf or single item) but it's an area I always wanted to see used more. Graphics have come such a long way, however often character models just have a solid mesh on them with great texture work. Do you see that changing anytime soon?
@SimonBuchanNz
@SimonBuchanNz 4 жыл бұрын
There's plenty of secondary animation in new gen games, especially Demon's Souls, and trailers seem to show a lot more coming. It seems they were mostly held back by the weak CPUs in last gen consoles, so I think you'll get your wish.
@MrGr33n_
@MrGr33n_ 4 жыл бұрын
I didn't follow the channel much, but what is the Graphic API you are using? I myself work on part of an engine, but in Java. Also i really agree with you that nothing is perfect out of the box online(people code. My Tesselation wasn't perfect actually it wasn't at all, and then i never got to add the Cubic Bezier algorithm to roundup the edge and in the end i gave up on having beautiful edge for it haha :P.
@homelikebrick42
@homelikebrick42 4 жыл бұрын
The graphics API is OpenGL and Vulkan
@kenan2386
@kenan2386 2 жыл бұрын
I bet his cat is a hazel contributor
Scene Shadows! // Hazel Engine Dev Log
15:55
The Cherno
Рет қаралды 28 М.
Bloom.
26:10
The Cherno
Рет қаралды 118 М.
#behindthescenes @CrissaJackson
0:11
Happy Kelli
Рет қаралды 27 МЛН
GIANT Gummy Worm #shorts
0:42
Mr DegrEE
Рет қаралды 152 МЛН
The Lost World: Living Room Edition
0:46
Daniel LaBelle
Рет қаралды 27 МЛН
How I Implemented Shadows in my Game Engine
7:45
ThinMatrix
Рет қаралды 100 М.
LIGHTS! // Hazel Engine Dev Log
12:36
The Cherno
Рет қаралды 32 М.
Basic Shadow Mapping // OpenGL Tutorial #35
16:54
OGLDEV
Рет қаралды 25 М.
3D Physics! // Hazel Engine Dev Log
16:26
The Cherno
Рет қаралды 72 М.
How To Render CIRCLES (OpenGL/Vulkan/DirectX/Metal)
39:56
The Cherno
Рет қаралды 102 М.
Hazel's New Mesh System
22:48
The Cherno
Рет қаралды 49 М.
Giving Personality to Procedural Animations using Math
15:30
t3ssel8r
Рет қаралды 2,6 МЛН
BASIC 3D GAME ENGINE based on Hazel! // Code Review
35:15
The Cherno
Рет қаралды 65 М.
HDR + BLOOM + EMISSION in my Game Engine
16:19
The Cherno
Рет қаралды 32 М.