I want that extra video. The documentation and understanding is really important
@__jan5 жыл бұрын
Extra video? Yes please!
@factorio57455 жыл бұрын
Yes please
@ultimateskibum68135 жыл бұрын
Agreed. To understand these concepts fully and to be able to apply them in our own innovative ways an explanation/diagram video would be very useful!
@MrKriegus4 жыл бұрын
Has he ever made that video?
@APlethora5 жыл бұрын
An extra video on the renderer architecture would be great!
@Puddlestomps5 жыл бұрын
Would love to see that extra video. Understanding the concept and design is just as important as seeing the code itself.
@Tehnikification5 жыл бұрын
Nice video! Of course, we are interested in extra one
@brendanoconnell60072 жыл бұрын
Hey Cherno. I'm a bit late to the party, but I just wanted to express my undying gratitude for the tremendous amount of love and effort you put into your work. I've always been fascinated by the idea of creating a game engine, but it never seemed like a realistic goal for me. You alone have turned dreams into realities, for me and many others. Cheers, Cherno! And thank you for all that you do. Looking forward to progressing further in this series and plan to become a Patreon partner soon.
@1Infinitive15 жыл бұрын
Hey Cherno, I believe any function defined inside the class body is inlined by default so there's no need to mark it as such.
@vamidicreations5 жыл бұрын
That might be a code idea. I think most of the people saw the code and can now see the reason behind your architecture. This will clear a lot =D
@kacperozieblowski38095 жыл бұрын
did you say heavy optimizations? oooh that excites me
@frankxu94835 жыл бұрын
I would love to see the extra video about the renderer architecture!
@mario75014 жыл бұрын
For some reason the ImGui rendering is messed up now if you drag around the window. Not sure what I did wrong
@mario75014 жыл бұрын
This seems to be caused by clearing the depth buffer. If you only clear the color buffer it work works fine
@xxdeadmonkxx4 жыл бұрын
From my experience when you need multiple/crossplatform implementation for some classes like renderer it is better to use pImpl idiom instead of virtual classes to nullify all overheads on function calls every frame. Also if you need virtualization always set final keyword on implementation class to allow compiler to optimize some things.
@giancedrick5074 жыл бұрын
how do you implement virtualization with the pimpl idiom?
@xxdeadmonkxx4 жыл бұрын
@@giancedrick507 in case of different platform versions you don't need virtualization at all, just different cpp files for each platform with same methods, we just need one level of "virtualization" and don't need to re-override those methods
@giancedrick5074 жыл бұрын
@@xxdeadmonkxx Thanks! thought of the exact same thing, I just haven't come around in verifying yet.
@kariakistephen5083 жыл бұрын
Your a good teacher
@sam_is_people11703 жыл бұрын
thanks
@giancedrick5074 жыл бұрын
"heavily optimize it" mhmm yesssss
@alekseymishin71344 жыл бұрын
Why do we define RendererAPI::s_API inside RendererAPI class instead of OpenGLRendererAPI? Or we can add Create method like in other renderer classes to set it to different api?
@kebluetugirafee75585 жыл бұрын
At first, I thought that RenderCommand is a redundant wrapper of RendererAPI. It took me a long time to understand why RenderCommand exists. It's another way to judge which underlying graphics API(OpenGL or D3D) should be used, a little different from the abstraction of classes like VertexBuffer. It avoids the switch statement in every specific rendering function, like DrawIndexed.
@JamesCubes-ne2iq4 жыл бұрын
Literally no one in the world could count how many times Yan said right in the first 10 minutes
@DRAGON_FullPower5 жыл бұрын
When you will reach at animation and texture, i hope that you will show us how to make an animation and how to put a texture to a 3D model
@BrianHarbauer5 жыл бұрын
First time commenter, long time follower here! Thanks for this awesome series. When it comes time for textures, would you be able to have a tutorial of video playback on poly surface? I can barely find any information on this topic. If not in this series, then at some point? Thanks!
@DRAGON_FullPower5 жыл бұрын
you forgot to put last video in playlist
@deadyanothaikiropool1chait7135 жыл бұрын
That link to another class so crazy that my gcc couldn't compiled it ._. Look like api that worked for me gonna be looked so different ...so that I mix all into Renderer only and it's look very clean
@OmarChida5 жыл бұрын
Please the video about the rendering architecture. THANKS ♥️
@karanh5 жыл бұрын
After this series is done can you please do a series on Data Structures and Algorithms using C++?? There is no good series for that as of now. Would be appreciated!
@ultimateskibum68135 жыл бұрын
Hey Cherno, for some reason my mouse button input code for Imgui in our current build is not working properly. It keeps giving me an unhandled exception every time I try and click the ImGui UI. I was wondering if this was due to an update in your ImGui repo or something I did wrong?
@Sf37li05 жыл бұрын
I have a very similar issue which happens mostly when I use the mouse scroll. Have you found the problem?
@valizeth40735 жыл бұрын
I get why you use the m_ prefix for member vars, but why s_
@1Infinitive15 жыл бұрын
s is for static
@valizeth40735 жыл бұрын
@@1Infinitive1 ooh
@xxXSashaBardXxx4 жыл бұрын
Hello, Yan! I watched almost all your videos and you helped me to became a C++ developer at the first place. But in 29:53 you keep saying "Its a pointer to a class with no members, so its a 1 byte memory leak". I'm pretty sure you aware, then you create a vtable ( declaring at least one virtual function ), it need to be stored somewhere. Inside a class. So, sizeof an interface with bunch of virtual functions equals size of a pointer to that vtable, 8 bytes.
@Scotty-vs4lf2 жыл бұрын
yeah the pointer is 8 bytes, but the memory leak isnt the size of the pointer. the memory leak is how much memory is allocated but not freed on the heap, which for a class with no members is 1 byte. The variable itself (the 8 byte pointer) isn't a memory leak
@barspozlu622027 күн бұрын
@@Scotty-vs4lf I am just writing this in case someone reads it and gets confused, the memory allocated on the heap is the size of the OpenGLRendererAPI, that class has virtual functions which means a vtable, thus Its instances have a vpointer which is 8 bytes. So the memory leak is indeed 8 bytes not 1.
@totallynuts75955 жыл бұрын
Midweek supplement pleeaase =)))
@roxferesr4 жыл бұрын
Is it just me or the RendererCommand class is redundant here? I might need to watch a couple of episodes more for it to make sense.
@sc5shout5 жыл бұрын
Is multithreading done in the paid version of the engine? I hugely consider buying it.
@pooria_garrett30205 жыл бұрын
there's no paid version
@sc5shout5 жыл бұрын
@@pooria_garrett3020 Being a patreon is not for free :V
@jonathanmatai62355 жыл бұрын
@@sc5shout As far as I know It's the same series, it's just that the videos are released one week earlier for the patreons
@pooria_garrett30205 жыл бұрын
@@sc5shout It's not like there'll be some code remaining behind a paywall forever!
@sc5shout5 жыл бұрын
@@pooria_garrett3020 I know, but I have a multithreading hype now and there is no point to me to buy a repo that has not got it. That is why I am asking.
@konstantinseurer26535 жыл бұрын
vulkan
@JackyTeerapat5 жыл бұрын
pls. Make a new vdo about linked list c++
@amerthebest885 жыл бұрын
Problem is that none of this applies to nextgen rendering when using API like vulkan, directx 12 or metal
@0xhex5 жыл бұрын
We need assembly language tutorial please 😭💔
@chris_burrows5 жыл бұрын
whut
@graph2001 Жыл бұрын
ChatGPT3.5 Generated content: - The transcript is part of a game engine series tutorial by China. - The video focuses on the critical part of the rendering architecture, the draw call, which is the command to actually draw something on the screen. - To render a 3D world, there are a few components needed, including a vertex array, a shader, information about the environment, and the material of the object to be rendered. - The tutorial covers how to submit geometry, meshes, and materials to render a scene and how to optimize it. - The video also covers API and clear color concepts in game development.
@rosalineden36543 жыл бұрын
An extra video on the renderer architecture would be great!