Shader Abstraction and Uniforms | Game Engine series

Поділитися
Вставка
  • Опубліковано 10 лис 2024

КОМЕНТАРІ • 29

  • @dinulja
    @dinulja 5 років тому +58

    So many videos, love it!

  • @emcpadden
    @emcpadden 2 роки тому +10

    The Cherno makes the best learning material I've seen. THANK YOU, I am binge watching so much of your content and learning so much!

    • @lucaaaa6382
      @lucaaaa6382 Рік тому

      YEAH!!! I agree! And I also suggest ChiliTomatoNoodle he is really good too and has made tutorials on directx and also on cpu architecture if you are interested:)

  • @JackPunter2012
    @JackPunter2012 5 років тому +26

    3 Vids in one week... Welcome back cherno :)
    Hope all is going well since you left EA

  • @xiangzhou9126
    @xiangzhou9126 2 роки тому +1

    Look the stanford bunny on the desktop, cool~~~

  • @bello3137
    @bello3137 5 років тому +1

    i've been following you since my day one of learning c++,am very thankful for your good videos

  • @RitobanRoyChowdhury
    @RitobanRoyChowdhury 5 років тому +9

    Something that you haven't discussed, that I'd rather like to see, is unit and integration testing. Even though it isn't strictly related to a game engine, I would really like to see how to organize and write them in an effective manner, in a large scale application. Most tutorials merely cover the basic setup and syntax.

    • @popplestones886
      @popplestones886 2 роки тому

      Definitely would love to see testing incorporated into it.

  • @perfectionbox
    @perfectionbox 3 роки тому +2

    Every engine writer gangsta until they need to make shaders portable 🤣

  • @olfmombach260
    @olfmombach260 5 років тому

    I'm so happy for you and your wife! :)

  • @kplays_6000
    @kplays_6000 3 роки тому

    you can also do glUniform4fv(location, 1, glm::value_ptr(matrix)) and the same with the other vectors

  • @sam_is_people1170
    @sam_is_people1170 2 роки тому

    thanks!

  • @graph2001
    @graph2001 Рік тому

    23:52 add "ImGui::ColorEdit3("Square Color", glm::value_ptr(m_SquareColor));", could change color
    Shader Abstraction, add OpenGLShader.h

  • @Berzeger
    @Berzeger 5 років тому +1

    You have an update available for your VS.

  • @ultim8sceptile584
    @ultim8sceptile584 3 роки тому +2

    I was wondering, why don't we just add the UploadUniform functions as pure virtual in the Base Shader class so we can call it without having to cast the shader to an openglshader?

    • @Terrensino
      @Terrensino Рік тому

      Considering that glm is just a good maths library (I probably would use matrices, vectors and strings in any renderer implementation), I personally did just this - put'em in the base shader class. This way I don't see "OpenGL" in sandbox or higher level engine modules, and that feels good to me.

  • @ilkeraktug6685
    @ilkeraktug6685 3 роки тому

    Where can I learn to write proper Shader class that The Cherno mentioned ?

  • @valizeth4073
    @valizeth4073 5 років тому +1

    Does directx and vulkan use shaders in the way that opengl handles it? A "pipeline" during runtime?

    • @jamesmnguyen
      @jamesmnguyen 5 років тому +6

      In OpenGL, you can create a pipeline object that allows you to attach different shader program stages at runtime (as long as they are compatible). In Vulkan, however, you can't do this since shader stages are fixed at the creation of the pipeline. You can mimic OpenGL by creating a pipeline for every combination of shader stages.
      I hope that was relavent to your question

  • @DRAGON_FullPower
    @DRAGON_FullPower 5 років тому +4

    I wont lose my interres for this series even if it will have 1000 videos!

  • @savage_fps-gamer1775
    @savage_fps-gamer1775 5 років тому

    Wow look at your old video 😂

  • @happycrank7458
    @happycrank7458 5 років тому

    Nice

  • @velocityra
    @velocityra 5 років тому +7

    What's the point of using reference counted objects?
    It obviously induces overhead, but more importantly it makes object ownership unclear, which sounds like a maintenance and code readability burden (see: Rust's ownership system).
    Why not use *std::unique_ptr* s instead?

    • @fanisdeli
      @fanisdeli 5 років тому +2

      if you want to pass a reference somewhere else, like a method or something, you can't use std::unique_ptr. As its name suggests, it is unique and can't be copied/passed around

    • @TheMrKeksLp
      @TheMrKeksLp 2 роки тому

      @@fanisdeli Of course it can be passed around! As long as the method doesn't hold on to the reference after returning

  • @davidmiller3867
    @davidmiller3867 5 років тому +2

    2D!

  • @Red-di7zb
    @Red-di7zb 5 років тому +2

    first.

  • @pooria_garrett3020
    @pooria_garrett3020 5 років тому

    2nd

  • @iHelpOfficial
    @iHelpOfficial 5 років тому

    Fourth