I find the chats to be informative although sometimes hard to follow. It can often feel like a running train of thought rather than a succinct and direct explanation, filled with lots of exposition and random additions.
@@TylerFerraro your brain, not unlike your body, needs stamina, you can train it :) if you keep coming back and try to grasp something from a video, maybe next time its going to be two things and then you will start applying stuff you saw in the video, be patient!
Hi Cherno! :) i love your series, i get a deeper understanding of the clockwork behind any game engine. very cool! Facecam is the way to go, because you chat a lot - witch is totally a good thing! you explain whats going on in detail, thats really cool. Pls keep that. We can better follow your explanations if we can see you. So i would suggest to keep the format like it is now. its very good! Dont worry :) thx & cheers, Tobi
If anyone else is having their images rendered upside down in ImGui, add ImVec2{ 0,1 }, ImVec2{1,0} to the parameters of ImGui::Image to change the UV's of the image. For some reason, ImGui flips them by default
The selfie video is good, and the chat is nice. And filming during your real work, rather than doubling up, is smart. You often give us your inner most thoughts about programming stuff, and that can be helpful.
Lockdown-Hair. Welcome to the club. PS: I'd recommend Wella Shockwaves (Mousse) Strength 3. Apply a handful in damp hair (not wet) after getting out of the shower. Style back with a comb. Let it air dry. Last for a good 3 days.
Awesome video man! Unfortunately I haven't got this far in the series just yet but I still watch your newer videos just because they are fun to watch! Keep up the good work man, I really love what you are doing and this is helping me massively! :)
I think that with the facecam it’s more engaging for the viewer. Also about the chats, keep them because they are giving us insight on why you’re doing some things the way you do. Great work!
Hi the Cherno I have 10 years of experience in software industry but every time I watch your videos I learn something new thank you ,I hope that you can make series about (design patterns , algorithms and Data structures challenges) ,I know there is a lot of tutorials in UA-cam but I think you will explain this topics more clearly thanks
Hey Yan, Im loving this new video format. Its great to see you explain whats going to happen, write the code and debug it all without any editing. It really helps me to understand what Im writing. Thanks 😊
Its good your explaining i have played computer games since i was 6ish but always wanted to know how to make one but never wanted to do a course so learning alot off you and getting a understanding why games are set out like they are.
I would actually love to see more OpenGL concepts which you explain in the OpenGL series and also use in Hazel, because it would give you a sense for how to actually use these features in a practical concept.
Awesome video as always !! I love the chats and I love the face cam as it makes it feel really natural and enjoyable. Also, would love to see a detailed video on FrameBuffers and the OpenGL rendering pipeline
Keep the facecam, love the little chats too. I would honestly love just a video of Cherno talking about whatever is on your mind as you either code or do whatever, its honestly really great content while I work on my own code.
I can't tell where you got the struct-idea from for the FramebufferSpecification (and similiar). But what I can tell is, that it is pointed out as good practice in the Cpp Core Guidelines. In this case especially the guideline I.23 (Kepp the number of function arguments low). A good example would be a function call like that: int area = Rectangle(5, 5, 64, 32); In this case it is hard to tell, what the parameters exactly mean. Is it TopLeft and BottomRight as points or is it TopLeft and width, height (dimension). int area = Rectangle(Point{5, 5}, Point{64, 32}); This would be much clearer to the reader. The example above is from Kate Gregory, who had multiple talks about that topic. This specific example is from her talk "10 Core Guidelines You Need to Start Using Now" at the CppCon 2017. I can highly recommend watching her talks. Everything above is only made, because I can't turn off my inner teacher. Sorry. But on the other hand, have fun with it. ;)
These videos are so great. Enjoy the long chats. Would love to see the Framebuffer OpenGL video. I don't know how you write so much code without running/testing immediately. Looking forward to the next one
You seem unsure of why we watch these videos, so I'll give my (personal) two cents of why I like your videos. (Bear in mind that this is the view of someone subscribed, not someone who came across your video trying to find specific information. Take that for what you will.) You are interesting, and informational background noise. That sounds mean, but it's my use case. I'm not watching constantly. I flip over every time you start talking about something I find interesting, and your little chats mid way, are absolutely packed with interesting little nuggets. so I love your little rambles mid way, they are probably what I am watching for, in reality, all of those little nitty-gritty tricks of the trade that you just don't find in your average tutorial. So I don't want you to just skip straight to the code. I'm here for you, and your experience. If I just wanted to know how to do X, I would have googled it and found it from a million other tutorials. I also like the face cam, for similar reasons, it's more of a 'connection' than a tutorial.
You are clear and concise, and explaining the reason and the process is sharing your knowledge about a given scenario of use and practises of a given function, the one thing i do find a little frustrating is your use of the alt-tab/file switching, so keeping track on which file your editing is a little confusing at times, you have to pause and rewind to see what your tabbing too, as you know your code we dont so tracking which file your currently on is a little differcult some times, i would add like a subtitle of the name of the file your currently editing to help keep track / follow & learn whats what and what file your editing. a good example is at 14.00 mins in, the titles to the files are soo small, you cant see them properly. you alt-tab or so something and your instantly in a new cpp file, when ever you move to a different file, just sub-title it, so we know what the file is your currently editing, 14.35 onwards you do a lot of quick tabs and do some edit / copy switch to one file then to another file and it gets confusing, you type so quickly or make an edit that quickly, its missed even if its to check something then you swap back to a file and its like ok... what file are you on now?? so subbing your tab swaps will help a lot. I think every swap should be subbed. I hope you see that as constructive to help us with following your Hazel Engine progression.
I really enjoyed the video :) Thanks! and thanks for making this one longer :) I personally think that this length is better for this kind of video :) Keep it up!
glTexStorage2D is a OpenGL 4.2+ feature that allocates immutable-format texture with specific dimensions, format and mipmap levels. It's almost like calling glTexImage2D for every mipmap level. After being created, its dimensions, format and mipmap levels can't be changed, you can only change its content using functions like glTexSubImage2D. This is the recommended way of creating textures in modern OpenGL because OpenGL can use immutable objects in an optimized way. It's perfectly fine to use it as framebuffer attachment and it might actually be somewhat faster.
All good. It also seems appropriate to emphasize a suggestion: do code, then talk (react to code video) In my experience writing code (c++ not so long, other languages a very long time), it takes full focus to do well. Likewise, speaking effectively takes focus. Add to that the assertion that multi-tasking is a myth; we are serial processors, and a few improvements can be clearer. If you feel like talking, an intro sounds good. Coding with that out of the way may feel more straightforward. Taking talking breaks sounds like a good idea. Wrapping up with a conclusion might be best. It may only take the knowledge that you'll have a good long time to talk over your code, in between talking breaks, to feel that your words will come out, and be said well; which can allow you to feel better about coding in silence. This suggestion comes after seeing a halting struggle to do both eloquently speak and write code from scratch. I like the idea that you're finding the right balance between 'just do it' and 'take it slow'. 'Hope that helps, because this series is awesome. [EDIT] Mentioning how early Doom (Wolfenstein,etc) programmer Carmack introduced the game frame buffer as the idea 'blitting' to speed up framerate would be good history to mention here. In short, writing color to a block of memory takes less time than drawing color pixels, and then swapping a whole block of memory representing the frame (frame buffer) can be done as a single, fast operation ('blit', or swap) from that buffer memory location to the screen memory location. /my $0.02
That specification stuff you are doing is definitely a subtle thing you picked up at EA. I work there now and I started using it in my code too. I tracked in down and found a bunch of examples of that being done in engine and in game
There are a lot of youtube programming videos out there that are just a screen and someone talking over the top of it. I think that having a "personal" connection by appearing on screen is one of the aspects that separates your channel from the crowd
facecam is good bro. Especially in these times when many of us are in lockdown its great to see a human face and ur a good looking bloke, would be a shame to hide ur face from us.
Hi Cherno! I definitely like the new format. You might want to use git-flow to create branches more easily when you are developing a new feature. This way when you don't actually want to push to master, simply publish a feature branch with your work in progress so people can benefit from it right away.
Great videos! I enjoy experiencing different perspectives going into this degree of detail. Tiny point of constructive criticism: Consider using *.hpp instead of *.h for C++ files. I do a lot of work in C as well as C++ and they can tend to use different formats, tools, versioning (different projects/branches), etc., and found separating the two to be quite beneficial. Hardly a big deal though, great video!
I think the thoughts you have on why you're doing the thing are probably more important than actually doing the thing, because they're more broadly applicable and useful.
I would really appreciate some more OpenGL videos, stuff about framebuffers, swapchains, double/tripple buffering, shadowmaps, etc. Perhaps a video about what happens behind the scenes in OpenGL. As for the facecam, do keep it. There are moments when you're just talking without doing anything in your code, without a facecam there would really be nothing to look at in those moments. (Keep it on the right side of the screen, idc if it's the top or bottom. On the left side it will definitely get in the way of your code easily)
Heyo, If you're experiencing the Framebuffer being flipped horizontally, in ImGui::Image((void*)textureID, ImVec2(1280.f, 720.f)) be sure to add ImGui::Image((void*)textureID, ImVec2(1280.f, 720.f), ImVec2(0,1), ImVec2(1,0)) & this will fix that problem!
Your FrameBufferSpecification struct is a bit like the DTO (data transfer object) pattern, where you encapsulate a lot of separate data items in one object.
I think that you got the codestyle for the FramebufferSpecification struct and similar from VulkanAPIs VkXXXCreateInfo structs :D At least I got some flashbacks (:
Omg, In other words, the same thing can have different names in different api's. That is, in Open GL, FrameBuffer is Framebuffer, in DirectX 3D is RenderTargetView, and in Vulcan is RenderPass
RenderPasses in Vulkan are not framebuffers, they're a different type of object entirely - Vulkan has framebuffers as well. When I was talking about render passes I meant _in addition to_ framebuffers.
@@TheCherno Ohh, thanks) Because so much stuff going on, so many differents between single API, and when you are on 70% know open gl, and others apis on 25 its kinda difficult to compare. Thanks again, you really doing great job on the episodes.
AFAIK there is almost no difference between texture storage and texture image. The only difference is that if you use texture storage, a size of the texture is immutable. If you want to resize the texture, you need to recreate it. I also think that texture image does internaly texture storage and when it is needed it recreates the texture.
facecam good. keep. framebuffers are pretty simple imo, a dedicated epsiode in the opengl series wouldn't really be needed. Maybe an episode in which you go through multiple simple features like framebuffers at once?
Will Hazel be open sourced when released? I think you're doing fine in the video so don't overthink it. You're a cool dude and very interesting to listen to and watch. Pretty excited you're going linux support with vulkan.. this is something i am looking forward to when it's finally is out. Love your videos man so keep them up!
My own graphics API abstraction also uses structs to pass a large amount of variables on to a class like you do at 10:25. I guess it's pretty common. Mine would be called FramebufferDesc instead of FramebufferSpecification though, the latter takes too long to write and as a programmer, I'm lazy ;)
I like the chats because they help in giving us a better overview of how things work, as opposed to just jumping straight into the code
I find the chats to be informative although sometimes hard to follow. It can often feel like a running train of thought rather than a succinct and direct explanation, filled with lots of exposition and random additions.
@@TylerFerraro your brain, not unlike your body, needs stamina, you can train it :) if you keep coming back and try to grasp something from a video, maybe next time its going to be two things and then you will start applying stuff you saw in the video, be patient!
Please make an episode on framebuffers in OpenGL
Hi Cherno! :)
i love your series, i get a deeper understanding of the clockwork behind any game engine. very cool!
Facecam is the way to go, because you chat a lot - witch is totally a good thing! you explain whats going on in detail, thats really cool. Pls keep that.
We can better follow your explanations if we can see you. So i would suggest to keep the format like it is now. its very good! Dont worry :)
thx & cheers, Tobi
Cherno, you have nothing to be "insecure" about! Your videos are amazing and we love to hear you talk :)
keep doing great work cherno!
Exactly !!
Love the new format - really allows one to see your entire thought process
Keep the facecam, it looks more “natural” that way
When you say natural,are you desribing charno's hair?
Keep facecam - otherwise, it becomes less "personal" ??? Maybe? IDK, you do you
Gay AF
I like the facecam, because it means we're not constantly jumping between the code view and your face when explaining things. It's a lot less jarring.
The chats/descriptions are perfect mate, keep it up! Thanks for the video.
If anyone else is having their images rendered upside down in ImGui, add ImVec2{ 0,1 }, ImVec2{1,0} to the parameters of ImGui::Image to change the UV's of the image. For some reason, ImGui flips them by default
Many thanks.
thanks so much!
I thought that you'd first do an OpenGL Series episode on this, but this is cool too :D
I don't mind the facecam.
6:30 I like when you go on a tangent or go more in depth on an idea.
The selfie video is good, and the chat is nice. And filming during your real work, rather than doubling up, is smart.
You often give us your inner most thoughts about programming stuff, and that can be helpful.
I love that all *hair* situation you got over there
I like the 'smalltalk' because it often describes your reasoning and arguments for why you are doing what you are about to do.
Lockdown-Hair.
Welcome to the club.
PS: I'd recommend Wella Shockwaves (Mousse) Strength 3. Apply a handful in damp hair (not wet) after getting out of the shower. Style back with a comb. Let it air dry. Last for a good 3 days.
Awesome video man! Unfortunately I haven't got this far in the series just yet but I still watch your newer videos just because they are fun to watch! Keep up the good work man, I really love what you are doing and this is helping me massively! :)
Dude.. this video is 45 minutes long. You didn't even watch a quarter of it lol
I think that with the facecam it’s more engaging for the viewer. Also about the chats, keep them because they are giving us insight on why you’re doing some things the way you do. Great work!
Hi the Cherno I have 10 years of experience in software industry but every time I watch your videos I learn something new thank you ,I hope that you can make series about (design patterns , algorithms and Data structures challenges) ,I know there is a lot of tutorials in UA-cam but I think you will explain this topics more clearly thanks
Hey Yan, Im loving this new video format. Its great to see you explain whats going to happen, write the code and debug it all without any editing. It really helps me to understand what Im writing. Thanks 😊
Its good your explaining i have played computer games since i was 6ish but always wanted to know how to make one but never wanted to do a course so learning alot off you and getting a understanding why games are set out like they are.
I would actually love to see more OpenGL concepts which you explain in the OpenGL series and also use in Hazel, because it would give you a sense for how to actually use these features in a practical concept.
I really like this type of recording. It's nice knowing your personal opinions and thoughts. You are cool man :)
You do your videos how ever you feel like, i like when you are talking and explaining things and give some different point of views.
Awesome video as always !! I love the chats and I love the face cam as it makes it feel really natural and enjoyable. Also, would love to see a detailed video on FrameBuffers and the OpenGL rendering pipeline
Keep the facecam, love the little chats too. I would honestly love just a video of Cherno talking about whatever is on your mind as you either code or do whatever, its honestly really great content while I work on my own code.
The new format is so good, enjoying it (face cam must be kept :D).
[10:20] Well! Now that's a great alternative to a hundred overloads!
Personally I enjoy the longer videos, and having the "little chats" in between can be informative, as long as they are on topic.
For anyone having a problem make sure that you're binding the framebuffer before clearing the screen
I can't tell where you got the struct-idea from for the FramebufferSpecification (and similiar). But what I can tell is, that it is pointed out as good practice in the Cpp Core Guidelines. In this case especially the guideline I.23 (Kepp the number of function arguments low).
A good example would be a function call like that:
int area = Rectangle(5, 5, 64, 32);
In this case it is hard to tell, what the parameters exactly mean. Is it TopLeft and BottomRight as points or is it TopLeft and width, height (dimension).
int area = Rectangle(Point{5, 5}, Point{64, 32});
This would be much clearer to the reader.
The example above is from Kate Gregory, who had multiple talks about that topic. This specific example is from her talk "10 Core Guidelines You Need to Start Using Now" at the CppCon 2017. I can highly recommend watching her talks.
Everything above is only made, because I can't turn off my inner teacher. Sorry. But on the other hand, have fun with it. ;)
These videos are so great. Enjoy the long chats. Would love to see the Framebuffer OpenGL video. I don't know how you write so much code without running/testing immediately. Looking forward to the next one
OMG its amazing ppl working with this so fast
This guy keeps putting in the work.!!!! Real inspiration keep it up dude!!!!!!
You seem unsure of why we watch these videos, so I'll give my (personal) two cents of why I like your videos. (Bear in mind that this is the view of someone subscribed, not someone who came across your video trying to find specific information. Take that for what you will.)
You are interesting, and informational background noise.
That sounds mean, but it's my use case. I'm not watching constantly. I flip over every time you start talking about something I find interesting, and your little chats mid way, are absolutely packed with interesting little nuggets. so I love your little rambles mid way, they are probably what I am watching for, in reality, all of those little nitty-gritty tricks of the trade that you just don't find in your average tutorial.
So I don't want you to just skip straight to the code. I'm here for you, and your experience. If I just wanted to know how to do X, I would have googled it and found it from a million other tutorials.
I also like the face cam, for similar reasons, it's more of a 'connection' than a tutorial.
Can't wait to make a game on your engine,
Keep up the good work
You are clear and concise, and explaining the reason and the process is sharing your knowledge about a given scenario of use and practises of a given function, the one thing i do find a little frustrating is your use of the alt-tab/file switching, so keeping track on which file your editing is a little confusing at times, you have to pause and rewind to see what your tabbing too, as you know your code we dont so tracking which file your currently on is a little differcult some times, i would add like a subtitle of the name of the file your currently editing to help keep track / follow & learn whats what and what file your editing. a good example is at 14.00 mins in, the titles to the files are soo small, you cant see them properly. you alt-tab or so something and your instantly in a new cpp file, when ever you move to a different file, just sub-title it, so we know what the file is your currently editing, 14.35 onwards you do a lot of quick tabs and do some edit / copy switch to one file then to another file and it gets confusing, you type so quickly or make an edit that quickly, its missed even if its to check something then you swap back to a file and its like ok... what file are you on now?? so subbing your tab swaps will help a lot. I think every swap should be subbed. I hope you see that as constructive to help us with following your Hazel Engine progression.
Keep the face, and dont worry about it being a 'long' episode! It's fun to watch!
The sneeze break was pretty funny.
I really enjoyed the video :) Thanks! and thanks for making this one longer :) I personally think that this length is better for this kind of video :) Keep it up!
glTexStorage2D is a OpenGL 4.2+ feature that allocates immutable-format texture with specific dimensions, format and mipmap levels. It's almost like calling glTexImage2D for every mipmap level. After being created, its dimensions, format and mipmap levels can't be changed, you can only change its content using functions like glTexSubImage2D. This is the recommended way of creating textures in modern OpenGL because OpenGL can use immutable objects in an optimized way. It's perfectly fine to use it as framebuffer attachment and it might actually be somewhat faster.
All good. It also seems appropriate to emphasize a suggestion: do code, then talk (react to code video) In my experience writing code (c++ not so long, other languages a very long time), it takes full focus to do well. Likewise, speaking effectively takes focus. Add to that the assertion that multi-tasking is a myth; we are serial processors, and a few improvements can be clearer. If you feel like talking, an intro sounds good. Coding with that out of the way may feel more straightforward. Taking talking breaks sounds like a good idea. Wrapping up with a conclusion might be best. It may only take the knowledge that you'll have a good long time to talk over your code, in between talking breaks, to feel that your words will come out, and be said well; which can allow you to feel better about coding in silence. This suggestion comes after seeing a halting struggle to do both eloquently speak and write code from scratch. I like the idea that you're finding the right balance between 'just do it' and 'take it slow'. 'Hope that helps, because this series is awesome.
[EDIT] Mentioning how early Doom (Wolfenstein,etc) programmer Carmack introduced the game frame buffer as the idea 'blitting' to speed up framerate would be good history to mention here. In short, writing color to a block of memory takes less time than drawing color pixels, and then swapping a whole block of memory representing the frame (frame buffer) can be done as a single, fast operation ('blit', or swap) from that buffer memory location to the screen memory location. /my $0.02
loving this style of videos
Yes an OpenGL video on framebuffers would be great! Keep up the good work!
His hair just gets crazier and crazier.
That specification stuff you are doing is definitely a subtle thing you picked up at EA. I work there now and I started using it in my code too. I tracked in down and found a bunch of examples of that being done in engine and in game
Thanks for increasing the font, it's perfect now!
There are a lot of youtube programming videos out there that are just a screen and someone talking over the top of it. I think that having a "personal" connection by appearing on screen is one of the aspects that separates your channel from the crowd
facecam is good bro. Especially in these times when many of us are in lockdown its great to see a human face and ur a good looking bloke, would be a shame to hide ur face from us.
Checking subs at just the right time squad!
YES...more opengl videos!!
DirectX videos would be awesome too. :D
Hi Cherno! I definitely like the new format.
You might want to use git-flow to create branches more easily when you are developing a new feature. This way when you don't actually want to push to master, simply publish a feature branch with your work in progress so people can benefit from it right away.
Great videos! I enjoy experiencing different perspectives going into this degree of detail.
Tiny point of constructive criticism: Consider using *.hpp instead of *.h for C++ files. I do a lot of work in C as well as C++ and they can tend to use different formats, tools, versioning (different projects/branches), etc., and found separating the two to be quite beneficial. Hardly a big deal though, great video!
OMG, actual content that I subbed for. I almost had a heart attack it was so unexpected.
I think the thoughts you have on why you're doing the thing are probably more important than actually doing the thing, because they're more broadly applicable and useful.
Maybe add some polls during the video when you want us to decide between one thing or another, it could be easier to get the answer straight away
I would really appreciate some more OpenGL videos, stuff about framebuffers, swapchains, double/tripple buffering, shadowmaps, etc. Perhaps a video about what happens behind the scenes in OpenGL.
As for the facecam, do keep it. There are moments when you're just talking without doing anything in your code, without a facecam there would really be nothing to look at in those moments.
(Keep it on the right side of the screen, idc if it's the top or bottom. On the left side it will definitely get in the way of your code easily)
Finally the pineapple lights are back♥️
Keep the facecam. The chats are great. I like hour+ long videos too because I like listening to them while I work.
That _____Specification struct is a *very* javascript solution haha. Thoroughly enjoy how easy it is to use.
Facecam looks good! Position is good too!
8:00 You can take brake from typing if you want to speak and just get your thoughts out instead of doing two things at once.
Pineapple Lights! Yay!
I LOVE THE FACE CAM. Actually could you make it so that your face takes up most of the screen and the code is in the small screen in the corner?
you are my stackoverflow
Oh, yes please! OpenGL videos would be really helpful
Hey, Cherno :) Good show! Keep it up! ...and keep the facecam - also I like warm lighting.
I would love a framebuffer video.
Heyo, If you're experiencing the Framebuffer being flipped horizontally, in
ImGui::Image((void*)textureID, ImVec2(1280.f, 720.f))
be sure to add
ImGui::Image((void*)textureID, ImVec2(1280.f, 720.f), ImVec2(0,1), ImVec2(1,0))
& this will fix that problem!
I would very much like a dedicated opengl episode on framebuffers, post processing and lighting
Keep the face-cam, and keep the current lightning. Much better contrast and saturation in this video. :)
Love that perm
you know, some people would love to play starcraft the way he programs, and if thats the way im heading to, i cant wait!
Is it just me? OR Do your videos get better with time?😍👍... And yes more opengl and perhaps vulkan... And yes more face cam
Your FrameBufferSpecification struct is a bit like the DTO (data transfer object) pattern, where you encapsulate a lot of separate data items in one object.
You can support Vulkan and use MoltenVK by Khronos for automatic metal support.
I think that you got the codestyle for the FramebufferSpecification struct and similar from VulkanAPIs VkXXXCreateInfo structs :D At least I got some flashbacks (:
It's also DirectX style, inherited from general Windows API style that evolved over time.
The name and passing it back out is also a very D3D thing.
@@SimonBuchanNz Interesting I havent worked with DirectX yet so I didnt know that
please keep the facecam. it makes it more vivid
Hi Cherno, thanks for the awesome tuts, i wanna let you know that i'm interested in an openGL video about FrameBuffers.
We always hungry for knowledge and Specially if you are the teacher, Framebuffer in OpenGL.....Hell Yesss🤗
Omg, In other words, the same thing can have different names in different api's. That is, in Open GL, FrameBuffer is Framebuffer, in DirectX 3D is RenderTargetView, and in Vulcan is RenderPass
Vulkan Renderpass is a little different, in that it's about when things happen, rather than where, given that you're always explicit about the where.
RenderPasses in Vulkan are not framebuffers, they're a different type of object entirely - Vulkan has framebuffers as well. When I was talking about render passes I meant _in addition to_ framebuffers.
@@TheCherno Ohh, thanks) Because so much stuff going on, so many differents between single API, and when you are on 70% know open gl, and others apis on 25 its kinda difficult to compare. Thanks again, you really doing great job on the episodes.
nice. you got electric bracket pairing
AFAIK there is almost no difference between texture storage and texture image. The only difference is that if you use texture storage, a size of the texture is immutable. If you want to resize the texture, you need to recreate it. I also think that texture image does internaly texture storage and when it is needed it recreates the texture.
facecam good. keep.
framebuffers are pretty simple imo, a dedicated epsiode in the opengl series wouldn't really be needed. Maybe an episode in which you go through multiple simple features like framebuffers at once?
This helped me a lot thx
Much better (font)!
the specification struct is what vulkan does
Yay! super useful video time!
I definitely think you should do an OpenGL video on Framebuffers
Framebuffers and compute shaders, we need opengl videos!
Continuing with this rendet to texture thing. I would like to see a dynamic shadows video using depth buffer and depth textures
Will Hazel be open sourced when released? I think you're doing fine in the video so don't overthink it. You're a cool dude and very interesting to listen to and watch. Pretty excited you're going linux support with vulkan.. this is something i am looking forward to when it's finally is out. Love your videos man so keep them up!
Hazel is gonna be open sourced after its completely developed 🙂
@@VineetNairhero thank you very much for the answer!
framebuffer video --- yes
facecam ------------------ ok
Yaaaay new Video! Please upload more OpenGL content :)
My own graphics API abstraction also uses structs to pass a large amount of variables on to a class like you do at 10:25. I guess it's pretty common. Mine would be called FramebufferDesc instead of FramebufferSpecification though, the latter takes too long to write and as a programmer, I'm lazy ;)
Vulkan basically only uses structs to pass arguments to functions. Pretty neat and annoying at the same time.
Love your video
Can you make a mindmap or something like during the video?I believe it'll bring these tutorials to a higher level
circular facecam would be cool
BIGGER FACE CAM Pog
I'd like to recommend a bullet like (circle) face camera.
yes, vulkan please! : D Vulkan + moltenVK?
CHERNO!! CHERNO!! CHERNO!! CHERNO!! CHERNO!! CHERNO!! CHERNO!!
Oh, yeah, the facecam is in a good position