ImGui | Game Engine series

Поделиться
HTML-код
  • Опубликовано: 12 сен 2024

Комментарии • 194

  • @TheCherno
    @TheCherno  5 лет назад +26

    Thanks for watching guys, hope you enjoyed the video! Code for this video will be up on GitHub in a couple of days, give it a try yourself in the meantime! Next episode is already available for Patrons at www.patreon.com/posts/23947394 ❤️

    • @AndreyUgolnik
      @AndreyUgolnik 5 лет назад +3

      «ОпенГЛ» - you know Russian?

    • @wendell555
      @wendell555 5 лет назад +4

      thanks for letting me know just saw your vid
      that not using namespace std is better
      for starter im still in college and now on 2ndyear
      i want to be a c++ professional like you
      and i wanna know what kind of track did you took
      and what kind of practices i should do or know
      thanks for the knowledge gonna keep watching your vids

    • @ne0ck237
      @ne0ck237 4 года назад +3

      @@AndreyUgolnik пройдут годы, а он так и не ответит

    • @old_cd_rom9518
      @old_cd_rom9518 3 года назад +2

      @@ne0ck237 Два года спустя он так и не ответил...

    • @consultingprestig2096
      @consultingprestig2096 4 месяца назад

      @@old_cd_rom9518 Прошло 5 лет, а новостей до сих пор нет, он хочет продать, я думаю, ха-ха-ха.

  • @armaanc.684
    @armaanc.684 Год назад +37

    For the latest ImGui version, the files Cherno copied are located in the backends folder of imgui, also, to use glad with imgui, there will be a #include "imgui_impl_opengl3_loader.h", you need to change the entire block, including the #define and #endif to:
    #define IMGUI_IMPL_OPENGL_LOADER_CUSTOM
    #include
    #endif
    There is no need to have the imgui_impl_opengl3_loader.h file as we are already using glad.

    • @larsseverson5725
      @larsseverson5725 Год назад +2

      still not working for me

    • @daegonicagaming
      @daegonicagaming Год назад +1

      I can confirm this works now. Few notes. Don't remove anything from the block above it. Only thing you change is where it starts at #define that changes to the new one from the old and you change it to glad. If you remove the rest of the block it comes up with errors.

    • @helio6839
      @helio6839 Год назад

      Dude, you saved my ass. Thank you!

    • @videomasters2468
      @videomasters2468 Год назад

      dude you are a legend :) This sorted the problem for me

    • @Xptohz3
      @Xptohz3 10 месяцев назад

      Thank you!!!!

  • @user-qy1ff5tc3k
    @user-qy1ff5tc3k 11 месяцев назад +28

    if you have complier error like:undeclared identifier error,the 'DC' is undeclared ,then you need to change the 'imgui.cpp' file , find the line 3839 and 3841,change it to "for (int i = 0; i < window->DC.Layouts.Data.Size; i++)" and "ImGuiLayout* layout = (ImGuiLayout*)window->DC.Layouts.Data[i].val_p;"

    • @maat5512
      @maat5512 11 месяцев назад

      Thanks. This worked for me

    • @littlebessa
      @littlebessa 10 месяцев назад

      Wo, you are a hero!

    • @terrarian3712
      @terrarian3712 10 месяцев назад +3

      Also add window != NULL in the loop conditional. Seems to have been the cause of a headache for me using imgui 1.88 involving crashes when interacting with the demo window

    • @ARTEDAMATIK
      @ARTEDAMATIK 8 месяцев назад

      thanks bro@@terrarian3712

    • @consultingprestig2096
      @consultingprestig2096 4 месяца назад

      Hi, thank you for your comment. Can I ask you a question? I have LNK2019 errors when I generate "Hazel" I try to resolve this problem but I cannot find the solution despite reading the documentation. That said, when I press f5 and force execution the program launches and the window opens without problem. Do you know where this error could come from? thanks in advance

  • @alexhirsch889
    @alexhirsch889 5 лет назад +36

    Hey Cherno, I just wanted to tell you that you are an amazing teacher. Your explanations are logical and easy to follow along and you always find just the right balance between theory and practice/demos. I learned almost everything I know about c++ and how a computer works (in a more detailed way) from you. You’ve made my IT lessons in school (11th grade atm) just a tad bit easier and you got me to consider a career in the IT field. I don’t have the money to donate anything so I can just give you this. Always know that your videos are a wonderful resource. Greetings from Germany. (Btw, I love how the quality of your videos just went through the roof compared to the first few videos in the c++ series)

  • @PGMT22
    @PGMT22 3 года назад +68

    In a more recent version of the Imgui repo (not cherno's) the files he's copying come from imgui/backends instead of imgui/examples as shown in the video.

    • @Smartskaft2
      @Smartskaft2 2 года назад +1

      I did not get it to work by doing the modifications he did to the files. I did get it to work by simply copying the three OpenGL3 backend files and included the precompiled Hazel header to the top of the source file.
      I also read the repo's BACKENDS.md and EXAMPLES.md files. They added some more insight to ImGui file architecture. They are easy to digest, I really encourage reading them.

    • @Smartskaft2
      @Smartskaft2 2 года назад +5

      Oh, and there's also another source file to add to the ImGui premake project: imgui_tables.cpp

    • @eshafeeqee
      @eshafeeqee Год назад +2

      @@Smartskaft2 Thanks, This was helpful.

    • @user-lh9fm3ln7u
      @user-lh9fm3ln7u Год назад +2

      Thanks

    • @pradhivrddhi-research7489
      @pradhivrddhi-research7489 Год назад +1

      An alternative to that would be to switch to the master branch for the submodule instead of using backends.

  • @CamelCaseCam
    @CamelCaseCam 2 года назад +16

    If you're trying to follow this tutorial now and getting build errors, you have to define IMGUI_IMPL_OPENGL_LOADER_CUSTOM so that ImGui knows you're using Glad. Otherwise, ImGui will try to use its own OpenGL loader.

  • @matc83
    @matc83 3 года назад +56

    Just a bit of advice if you're attempting to build against the latest version of ImGui instead of the older version from Cherno's repo, you'll need to add imgui_tables.cpp to your premake file, spent a while stumped about a linking error because of this and thought I'd spread the word.

    • @Flamingkat
      @Flamingkat 3 года назад +1

      Just saw this post... Good call

    • @micahwithabeard
      @micahwithabeard 3 года назад +2

      Thank you! i was stuck so hard on trying to get the latest version working. almost pulled the old imgui branch the Cherno used 3 years ago.

    • @arachnid5669
      @arachnid5669 Год назад +1

      omg thank you. I was about to give up

    • @grey3623
      @grey3623 Год назад +1

      Thank you 😭

    • @dr.benway1892
      @dr.benway1892 Год назад

      This.

  • @oguretsagressive
    @oguretsagressive 4 года назад +7

    These small troubleshooting episodes like 11:31 are awesome! Diagnosing build problems is an essential skill, but I've never seen anyone teaching it before.

    • @wang_7665
      @wang_7665 2 года назад +2

      That's why I love his live coding. I can really learn a lot from even editing. No kidding.

  • @xxela_studio
    @xxela_studio Год назад +24

    I found that in imgui.cpp "CD" errors and my solution is:
    if(window)
    for (int i = 0; i < window->DC.Layouts.Data.Size; i++)
    {
    ImGuiLayout* layout = (ImGuiLayout*)window->DC.Layouts.Data[i].val_p;
    IM_DELETE(layout);
    }

  • @dsasilentsound
    @dsasilentsound 5 лет назад +21

    The blend of pre-coding the mundane, and live coding the more "interesting" bits is definitely welcome. I'm following this series with anticipation. Thank you for your hard work, and keep it up!

  • @TrueBlur
    @TrueBlur 2 года назад +2

    I really liked the little "homework" you gave at the end of the episode! It really helped me understand how the event system works better and figuring it out was rewarding! I hope there are more of these in the future videos!

  • @user-ps6bl8uk7g
    @user-ps6bl8uk7g 5 лет назад +61

    Sudden ОпенГЛ :D

  • @Gorvvb
    @Gorvvb Год назад +2

    For those struggling to find the imgui cpp and h files, they are within the "backends" folder of the imgui folder.

  • @archbacon6267
    @archbacon6267 2 года назад +7

    When using the latest version of ImGui. You must also include `imgui_impl_opengl3_loader.h` when copying the files to the OpenGL folder.
    One must also include `imgui_tables.cpp` in the files in the premake file for ImGui.
    When adding files to this list, take note of the file extension. (I got linker errors because i added a `.h` file instead of a `.cpp` file.

  • @dazonic
    @dazonic 5 лет назад +206

    Hi GUI I’m dad

  • @sirenti9384
    @sirenti9384 5 лет назад +19

    I am rushing through your c++ series right now. At the same time i am working with a OpenGL book and it works! Ty for those Professional videos

  • @fmgjcoppens
    @fmgjcoppens 2 года назад +7

    For people building on macOS (tested on 12.5.1 (21G83) / M1, with GLAD GL v4.6 Core prof.) and you happen to see the following run-time error when running SandboxApp:
    ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile vertex shader!
    ERROR: 0:1: '' : version '410' is not supported
    ERROR: 0:2: 'layout' : syntax error: syntax error
    ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile fragment shader!
    ERROR: 0:1: '' : version '410' is not supported
    ERROR: 0:5: 'layout' : syntax error: syntax error
    ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to link shader program! (with GLSL '#version 410
    ')
    ERROR: One or more attached shaders not successfully compiled
    Segmentation fault: 11
    Insert the following code in , just before m_Window = glfwCreateWindow(...);
    // GL 3.2 + GLSL 150
    const char* glsl_version = "#version 150";
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); // 3.2+ only
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // Required on Mac
    (copy/pasted from imgui/examples/example_glfw_opengl3/main.cpp)

  • @darkmethods9149
    @darkmethods9149 5 лет назад +9

    At around the 7:21 mark you should probably note that you have the Virtual Assist Plugin which allows you to create the definitions in the .cpp by clicking on the class name in the .h file. Most of us probably don't have that plugin unfortunately. However you can still do it on a per-member-basis by right-clicking on each of the declarations in the .h file, going to Quick Actions and selecting "Create definition of 'XXXMember' in ImGuiLayer.cpp". You have to do this for each one unfortunately which is cumbersome and possibly slower than just copying the members and paste/editing them manually in the .cpp.

    • @SyrusJones12
      @SyrusJones12 4 года назад +2

      If you just highlight all of them within the class and right click, it will do all of them all at once. However, it will append the namespace to it like:
      void Hazel::Application::OnUpdate()
      BUT!!!!! If you go into the .cpp file and type out the namespace and the brackets before performing the quick actions - create def... like:
      namespace Hazel
      {
      }
      ... when you perform the quick actions, it will add the function definitions inside the brackets without appending the namespace.

    • @catinwall4256
      @catinwall4256 4 года назад +1

      @@SyrusJones12 i love you

    • @SyrusJones12
      @SyrusJones12 4 года назад +1

      @@catinwall4256 lol, I'm glad I could help :)

  • @timoxa_dev
    @timoxa_dev 4 года назад +44

    9:46, ОпенГл ;)

    • @user-ph5eh7jd3x
      @user-ph5eh7jd3x 4 года назад

      оупэн джиэл оупэн жиэл

    • @ne0ck237
      @ne0ck237 4 года назад +1

      аахахаХАах, это просто кирилица или он русский?

    • @timoxa_dev
      @timoxa_dev 4 года назад +1

      @@ne0ck237 Вроде украинец или чтото такое)

  • @Flamingkat
    @Flamingkat 3 года назад +4

    For those rolling through this right now. I had to add the line "#include "ImGui_tables.cpp"" to a generic .cpp file (Just create a rando one in the OpenGL folder) in order to remove all the linker errors that popped up. Might be because I'm working with the latest imgui and the folder structure is very different.

  • @advikkabra8039
    @advikkabra8039 4 года назад +4

    If anyone else has the problem of the config flags for docking and viewports not being defined, it is because you did not get the docking branch from the git submodule. I fixed this by cloning the imgui folder from the Hazel repository. Hope this helps :)

  • @NuLuumo
    @NuLuumo 2 месяца назад

    Leaving this timestamp here to resume tomorrow! 15:38

  • @malekith6522
    @malekith6522 5 лет назад +2

    For anyone who has a problem with Exception thrown at 0x000... in Sandox.exe: 0xC0000005: Access violation executing location 0x000... its a problem with the initialization of GLW or Glad.
    Try to check WindowsWindow.cpp file for int status = gladLoadGLLoader((GLADloadproc)glfwGetProcAddress);
    or int success = glfwInit(); in Init function in the section about GLWF and overall make sure that Init function is set correctly. Good luck

    • @monamodikgwete3423
      @monamodikgwete3423 3 месяца назад

      This is where I have been stuck, thank god you spoke about it. So you mean I must initialize glad in the windowswindow rather than in opengl cotext class?

  • @tomy2712-a
    @tomy2712-a Год назад +1

    For 1.89.8 you need to have this in the top of the cpp file:
    #include "hzpch.h"
    #include
    #define IMGUI_IMPL_OPENGL_LOADER_CUSTOM
    #include "imgui_widgets.cpp"
    #include "imgui_tables.cpp"
    #include "imgui.h"

    • @remdev7510
      @remdev7510 10 месяцев назад

      1.89.9 It game me a define MATH_OPERATORS error removed the widget and tables to make it work:
      #define IMGL3W_IMPL
      #include "hzpch.h"
      #include "imgui.h"
      #define IMGUI_IMPL_OPENGL_LOADER_CUSTOM
      #include
      #endif

  • @viledeg2569
    @viledeg2569 2 года назад +3

    9:37 @TheCherno Nice easter egg for russian speaking viewers. Отличная пасхалка, ты как всегда топ. 🤩

  • @yokrysty
    @yokrysty 5 лет назад +7

    That hard coupling with that singleton application doesn't smell good. Why not constructor injection or other technique to decouple?

    • @seditt5146
      @seditt5146 4 года назад +4

      Do you need multiple Applications? Doubtful in this case so why add more steps and overhead just to say we are not using a singleton? Curious if there is a reason to do this other then "Boo Singletons..."

  • @voxel25
    @voxel25 2 года назад +4

    09:45 ОпенГЛ?

  • @junyangliu4812
    @junyangliu4812 10 месяцев назад +1

    ImGui commit used here: 265a91a, 5 Dec 2018

    • @AdHlx-un7oq
      @AdHlx-un7oq 5 месяцев назад

      Thank you, it has been very helpful to me

  • @TheoPanag7
    @TheoPanag7 5 лет назад +7

    That grass rabbit looks dope! :D Any links to amazon?

  • @AnythingSoupVODS
    @AnythingSoupVODS 9 месяцев назад

    Just a helpful tip, with the new way ImGui is set up, you no longer need the examples folder, he points out a function or two going back to it, but those function are now held in the root folder of ImGui, I say that because I was experiencing some clashing problems when it to building my engine project.

    • @SownJevan
      @SownJevan 9 месяцев назад +1

      I was trying out the solutions from the comments but I am still unable to solve it. So I copied the files like he did, they were in the backend directory, and after doing everything. I get an error telling me to include the precompiled header but it's coming from the old file that is still in the backend directory instead of the copied files I edited.
      EDIT: I do not know how but I solved it somehow. I basically removed all project files and reran premake and that fixed it, it seemed to have some weird connection.
      SOLUTION: You can follow everything in the video perfectly and the only difference is the header file. You have to search for
      #define IMGL3W_IMPL
      #include "imgui_impl_opengl3_loader.h"
      and then replace these two lines with
      #define IMGUI_IMPL_OPENGL_LOADER_CUSTOM
      #include
      You don't need the loader because you are using glad. This is the only extra thing I did and it started working and I am using the latest imgui repo from cherno.

    • @chrisquadro2717
      @chrisquadro2717 7 месяцев назад

      Thanks so much it has just helped me!!!@@SownJevan

  • @darthxertor3617
    @darthxertor3617 4 года назад +10

    ОпенГЛ :D

  • @InfiniteCoder01
    @InfiniteCoder01 2 года назад +1

    Thank you for this video, without it, I would spend a lot of time figuring this things out!

  • @0pranav380
    @0pranav380 4 года назад +7

    for those who are stupid like me, make sure you have a "#" before "version 410"

  • @lucaaaa6382
    @lucaaaa6382 Год назад +3

    I have a weird problem. When I try to build the imgui project it fails because inside it, in the file imgui.cpp I get a undefined symbol error at line 3840 because apparently the variable DC is undefined. Now mind you I have the imgui premake exactly like his and I'm pretty sure that's not the problem as DC is used inside imgui.cpp a lot and the only place where it is undefined is in the declaration of the function SetActiveID. I know this because I've looked up all the refferrences of DC and it only is undefined in to places inside SetActiveID. If you have any idea about what I could do please help me because I really want to move forward and continue this series.

    • @hubbacubba
      @hubbacubba Год назад

      same here

    • @lucaaaa6382
      @lucaaaa6382 Год назад

      @@hubbacubba I switched to a newer version and I don't have that problem anymore. Plus note that he switches to the docking branch of Imgui a few videos later and you'll have to do that too

    • @julesvannier7979
      @julesvannier7979 Год назад

      @@lucaaaa6382 Hi, I've switched to the latest version and still have the issue, can you explain me a bit more how you did ?

    • @kartech6079
      @kartech6079 Год назад +1

      @@julesvannier7979 I was able to fix the DC issue by going into imgui.cpp and replacing "DC" with "window->DC" since DC is a member of window

    • @johnraz99
      @johnraz99 Год назад

      I had the DC issue until I reverted to the Imgui commit on Dec 4 2018

  • @elitearmedforce
    @elitearmedforce 3 года назад +2

    could u pls link the article u mentioned about the software development, would love to go through it as a beginner. love ur work.

  • @theairaccumulator7144
    @theairaccumulator7144 3 года назад +3

    6:19 at least i'm not the only one who that happens to

  • @lucasidealthm7128
    @lucasidealthm7128 2 года назад +1

    If you still get an invalid size exception even after following the author's update order, note that you need to use the reference ImGuiIO

  • @darkmethods9149
    @darkmethods9149 5 лет назад +4

    For some reason ImGui_ImplOpenGL3_RenderDrawData() throws and access violation when trying to set the vao_handle variable on line 194 (abouts). The exact error says "Access violation executing location 0x0000000000000000. I'm kind of new to C++ so I'm not sure what I screwed up. Once the Hazel repository is updated I'll look to see if I messed anything up.

    • @bocktiful
      @bocktiful 5 лет назад +1

      This is most likely an issue with using an OpenGL loader that hasn't been initialized. OpenGL being a mess all the function pointers need to be dynamically loaded, there are many helper librairies for that. Note that imgui_impl_opengl3.cpp is using the gl3w loader by default, if you use another change the define/include accodingly

  • @Solarplexus0
    @Solarplexus0 5 лет назад +9

    I’m already Gui

  • @tuantranluuquoc2910
    @tuantranluuquoc2910 Месяц назад

    Cherno said Application will be a Singleton, but I find no Application constructor call. And isn't the Application constructor call should be in the getter and App's contructor should be private, based on Design Patterns by Gang Of 4?

  • @anthonypham7518
    @anthonypham7518 4 года назад +5

    On Windows and went over the code several times to make sure everything matches but still do not see the Demo window even though everything builds fine. Did anybody else run into this issue?

    • @homelikebrick42
      @homelikebrick42 4 года назад

      I did too

    • @wopsieneter
      @wopsieneter 3 года назад

      I have it right now. Have you found the issue yet?

    • @anthonypham7518
      @anthonypham7518 3 года назад

      @@wopsieneter did not get a chance to try yet but will probably just try to create a fresh project and integrate everything without all the Hazel stuff

    • @wopsieneter
      @wopsieneter 3 года назад +4

      @@anthonypham7518 I fixed it since actually. Maybe you dont have the same problem, however for me the reason it wasnt working for me was because in the Application::Run, I was doing the Window Update before the Layer Update. When I swapped that it was all working as expected.

    • @anthonypham7518
      @anthonypham7518 3 года назад +1

      @@wopsieneter wow thanks. that was it. many hours were wasted on this...

  • @dr.benway1892
    @dr.benway1892 Год назад +2

    On Mac Put these right after your glfwInit() in platform specific Window class:
    // Have to specify these on macOS
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);
    // to prevent 1200x800 from becoming 2400x1600
    glfwWindowHint(GLFW_COCOA_RETINA_FRAMEBUFFER, GLFW_FALSE);

  • @NetherlandsTop40
    @NetherlandsTop40 5 лет назад +2

    Hey @TheChernoProject, do you mind pushing the code to github, such that we can implement the other code as you said in the video?

    • @guowanqi9004
      @guowanqi9004 5 лет назад

      i think you need to be his patreon

  • @luaa8702
    @luaa8702 3 года назад +1

    20:29, cuz im going to sleep I leave this here as timestamp

    • @awsumturtle
      @awsumturtle 3 года назад +2

      Yo did u watch to the end from the timestamp?

  • @stephenyork7318
    @stephenyork7318 3 месяца назад

    If Application is a singleton then why leave the constructor public?

  • @mauricemarin5810
    @mauricemarin5810 4 года назад +1

    Hi, this thread is a little old, but I am trying to run this on mac with Xcode11 and got EXC_BAD_ACCESS (code=1, address=0x0) errors on runtime. Looks like I am not compiling or linking with the good settings. Anyone got a similar error or have any idea how to fix it? Thank you

  • @AllExistence
    @AllExistence Год назад

    Why do you always have succeeds, but i get unresolved external errors?

  • @abdulrahmanalzeidi3811
    @abdulrahmanalzeidi3811 5 лет назад +4

    Hey cherno, aren't you forgetting to mark overloaded methods like OnAttach in the ImGui as overload?
    really enjoying this series btw.

    • @TheBrotado
      @TheBrotado 5 лет назад +1

      I was wondering this as well; I just assumed it was a c# only thing. Although, it seemed weird.

    • @florianzimmermann2730
      @florianzimmermann2730 5 лет назад +1

      The overload mark on the function definition is in c++ not needed but good practice

    • @TheBrotado
      @TheBrotado 5 лет назад

      @@florianzimmermann2730 Thanks!

    • @nikoszervo
      @nikoszervo 5 лет назад

      You probably mean override, because he is overriding inherited methods. Overloading is when you make more than one methods with the same name but different method signature (different parameters). The overriding keyword is not required, but when you use it you can make sure that the method you are trying to override is indeed marked as virtual in the base class, else the compiler is going to throw an error.

    • @TheBrotado
      @TheBrotado 5 лет назад +1

      @@nikoszervo I just noticed he said overload thanks for pointing it out. My brain totally told me override when reading it.

  • @deadyanothaikiropool1chait713
    @deadyanothaikiropool1chait713 5 лет назад +1

    Ahhh So uncomfortable... ImGui is not working fine with gcc again....

  • @christophercooley5711
    @christophercooley5711 2 года назад +2

    If watching now, I had to #include "backends/imgui_impl_opengl3.cpp" to ImGuiLayer.cpp in order to run, this is where ImGui_Impl functions are defined, and maybe it was personal, but VS couldn't find their definitions.

  • @Murderface666
    @Murderface666 5 лет назад +2

    I tried to run this following along and I got an *Exception thrown at 0x000... in Sandox.exe: 0xC0000005: Access violation executing location 0x000...* And visual studio is pointing at "delete app;"

    • @pulkitvyas8321
      @pulkitvyas8321 4 года назад

      Hey did you find a fix for this?

    • @CamelCaseCam
      @CamelCaseCam 2 года назад

      For anyone else having this error, I had this problem earlier when I was accidentally logging something before the log was initialized. Check your call stack to see what is calling delete app.

    • @CamelCaseCam
      @CamelCaseCam 2 года назад

      Ok, so I've got a solution to this error. I was trying to add the ImGui layer before creating the window. You need to create the window first, otherwise Glad won't be initialized.

    • @monamodikgwete3423
      @monamodikgwete3423 3 месяца назад

      hello, how did you fix this error? I am having it.

  • @Misha-fm2tu
    @Misha-fm2tu Год назад

    For those who had problems during the assembly of .dll, which gave LNK2001 errors, but disappeared if the onAttach and onUpdate functions were commented out in the imgui_layer.cpp file. You need to clone the repository from the Cherno/Imgui master branch and do everything exactly as in the video (including adding 2 files to platform/opengl and #include in the imgui_layer.cpp file, not #include example/imgui_impl_opengl3.h ). Then everything will work for you

  • @codehorse8843
    @codehorse8843 5 лет назад +14

    I *dream* of being as good at c++ as this.

    • @knodelcrafter6888
      @knodelcrafter6888 5 лет назад +2

      I work on being as good at c++ as this.
      Although I might never get there 😅

    • @nytheris2848
      @nytheris2848 5 лет назад +2

      If you're willing to put the effort in, you can absolutely get there.

  • @thescriptergeek2335
    @thescriptergeek2335 5 лет назад +3

    Nice!

  • @somekindofpanem4877
    @somekindofpanem4877 3 года назад +1

    Hey, I know that this video is already one year old, but could anyone tell me how to stop the window (not the console) from flickering? The flickering stops whenever I resize the Window.

    • @fobo0053
      @fobo0053 2 года назад

      you have to put the glClearColor() function inside the while loop to update all the buffers

    • @lorenzito0852
      @lorenzito0852 Год назад

      If someone's going through this: check you're not running more than one window update in Application::Run() or your equivalent. If you are not, then check all render/update methods that are happening for duplicates, but it's probably coming from Application

  • @shashikantverma5935
    @shashikantverma5935 3 года назад +1

    at 24:11 why layer->OnAttach() needs to be there? It is an empty function. (As of now in series.)
    I tried without it, Window opens and closes automatically.
    What it is doing basically? can someone explain?

    • @shashikantverma5935
      @shashikantverma5935 3 года назад +1

      Oh!! Got it. The Definition is virtual and is overridden by ImGuiLayer::OnAttach().

  • @BlackPointOutdoors
    @BlackPointOutdoors 3 года назад +1

    11:52

  • @dw2843
    @dw2843 5 лет назад +2

    yay

  • @KaranLobana
    @KaranLobana 5 лет назад +2

    Hey @TheChernoProject, what are your views on BFV and Patricks resignation?

  • @shivanshuraj7175
    @shivanshuraj7175 5 лет назад +1

    Did he introduced event system in Imgui windows..?

  • @christopherdeli9914
    @christopherdeli9914 5 лет назад +7

    Do you speak russian?

    • @pooria_garrett3020
      @pooria_garrett3020 5 лет назад +2

      yes

    • @vadimsarthannel4565
      @vadimsarthannel4565 5 лет назад

      @@pooria_garrett3020 Where are the evidences?

    • @artie5913
      @artie5913 5 лет назад +2

      Ya naprimer ochen dazhe do speak Russian

    • @luciashort7294
      @luciashort7294 5 лет назад +1

      Дую дую, но очень плохо

    • @anixias
      @anixias 4 года назад +2

      @@vadimsarthannel4565 TheCherno's last name is Chernikov, maybe his parents are Russian?

  • @DarxDev
    @DarxDev 4 года назад +3

    hi gui im dad

  • @durgaprasadbutu3664
    @durgaprasadbutu3664 5 лет назад +1

    please tell me how to use it with codelite

  • @guowanqi9004
    @guowanqi9004 5 лет назад +1

    After game engine series, can you start a making game series using ue4? or hazel

  • @_Nerdiful_
    @_Nerdiful_ 5 лет назад +2

    My project compiles out but when I click Local Windows Debugger I get an error window saying my Hazel.dll is not a valid Win32 application. If I go to Sandbox.exe and run that though everything seems to work fine. Anybody have any idea what's wrong and how I can fix it?

    • @teacup3000
      @teacup3000 5 лет назад +1

      I had the same error before. In general it was because of typos and forgetting some lines.

    • @craighenry6040
      @craighenry6040 4 года назад +2

      In case anyone else is having this problem, it's due to Hazel being the start up project. Right click on sandbox in VS and "set as start up project". Or add startproject "Sandbox"
      to the Hazel workspace in the premake script

  • @turbozhu
    @turbozhu Год назад

    xiu~~~

  • @davidmiller3867
    @davidmiller3867 5 лет назад +1

    Too small! Make you bigger!

  • @MattForemanFlow
    @MattForemanFlow 5 лет назад +4

    Would you ever consider doing a C++ series using Unreal Engine 4 specifically? A lot of game developers would be very interested in this!

  • @CoderShare
    @CoderShare 5 лет назад +1

    No, UrGui

  • @consultingprestig2096
    @consultingprestig2096 4 месяца назад

    Why don't you leave a direct link to the github dedicated to the video?! there are always errors and things to modify because of that... It's really annoying! You say teaching but it's not teaching, it's more about wanting to sell your Patreon... If anyone has a link to a RUclipsr who has taken up this project I would be delighted.

  • @Quaggabagel
    @Quaggabagel 5 лет назад +1

    I feel like listening to this series would be a whole lot more satisfying if you spoke with a mic closer to your mouth, it usually makes a deeper and more pleasant-sounding voice.

  • @jpao4566
    @jpao4566 5 лет назад +2

    First ;)

  • @GrowBullet
    @GrowBullet 5 лет назад +6

    you mean gay? :D

    • @NuLuumo
      @NuLuumo 2 месяца назад

      Ah yes, #include

  • @CasparRubin
    @CasparRubin 5 лет назад +1

    Hi Gui, I'm dad

  • @chandannasta
    @chandannasta 5 лет назад

    I want to ask something offtopic not related to any programming language. I have a facebook jewellery business page and I would like to copy and paste all the albums from my facebook business page to instagram, linked in, twitter and so on. How do I do that. Every album has almost like 500-1000 pictures and there are atleast 60 albums on my fb page. Do you know someone who can do that. I know there must be a code or something which you people in your field might be knowing or if you can ask someone about it who could help me. Because I cant sit for hours and hours and upload 1 picture to all these other social media websites. So please if you can guide me or help me out in anyway then would really be very very grateful to you.

  • @onigumo
    @onigumo 2 года назад +1

    I skipped this whole episode because I was really not enojoying the "explaining while typing" thing, I guess maybe it's the crying babies from the last couple episodes' comment sections made you do this. But I can see this is much streesful to you, and does not provide any more information rather than us just look through the commit history. I don't understand those people's mentality which is "I can't follow it at all if you just show the full plain English paragraph, but if you type it line by line for me I will understand them all."

  •  5 лет назад +1

    I'm sorry to say this was one of your most unprepared videos ever. If people want you to code on the fly then I think it would be better if you try everything out first. Every mistake teaches something yeah but it took too long to fix just small stuff.

  • @vladmunteanu4039
    @vladmunteanu4039 3 года назад +1

    Cherno man... can you please stop with that intro hand flail stuff? I get that you want it to be something more personal and definitive to your youtube persona but... it's just... it seems too cringey for me man, especially when I can see you're a very intelligent and knowledgeable guy all around, but that, that anime wannabe intro it's just too much. xD

  • @NotNazuh
    @NotNazuh Год назад

    I might have done this wrong, but to get the imgui_impl_opengl3.h file compiling with no errors, in the cpp file I had to #include as well as define IMGUI_IMPL_OPENGL_LOADER_CUSTOM. I used imgui version 1.89.2.

  • @emanuelkokovics
    @emanuelkokovics Год назад

    In Application.cpp where we do e.Handled, where do we get it from?
    Does anyone get this error :
    Error LNK1104 cannot open file 'D:\OneDrive - e-uvt.ro\Informatica\Programing\GameEngine\Hazel\bin\Debug-windows-x86_64\Hazel\Hazel.lib' Sandbox
    Any suggestions on how to fix it?

    • @lucaaaa6382
      @lucaaaa6382 Год назад

      tyry e.m_handled. He first named it that way and probably didn't say. It's the bool variable inside the event class.

  • @kaylaman8286
    @kaylaman8286 3 года назад

    anyone get this error error LNK2001: unresolved external symbol "private: static class Hazel::Application * Hazel::Application ::s_Instance" (?s_Instance@Application @Hazel@@0PEAV12@EA) in vs 2019?

    • @Bkkzn
      @Bkkzn 3 года назад +1

      remove the initialization at the top of the cpp file and in the header file make the variable "inline".