Books and web resources for starting OpenGL, Math, and a graphics engineer career [Mike's Advice]

Поділитися
Вставка
  • Опубліковано 27 вер 2024
  • ►Full Series Playlist: • Mike's Advice
    ►Find full courses on: courses.mshah.io/
    ►Join as Member to Support the channel: / @mikeshah
    ►Lesson Description: In this video I provide a few resources that I've used along my journey to learn computer graphics. We'll start with free web resources first, and then we'll look at some of my favorite books and why I like them. I still think in 2024 OpenGL is a fine place to start with learning graphics, and then you can later move onto other graphics APIs as needed. Here are the links to the free resources:
    raytracing.git...
    learnopengl.co...
    gamemath.com/b...
    immersivemath....
    www.scratchapi...
    ►UA-cam Channel: / mikeshah
    ►Please like and subscribe to help the channel!
    ►Join our free community: courses.mshah....

КОМЕНТАРІ • 53

  • @ChopinDolphy
    @ChopinDolphy 2 місяці тому +23

    And if you want to hate yourself for not taking any calculus in undergrad, check out Physically Based Rendering: From Theory To Implementation! 😂😭

    • @MikeShah
      @MikeShah  2 місяці тому +3

      @@ChopinDolphy One of the editions of the pbr book(freely available online) is an Academy award winning book too! 🙂

    • @ChopinDolphy
      @ChopinDolphy 2 місяці тому +1

      @@MikeShah Wow you actually mean *that* academy award! I had to double check haha. That’s super cool! Thanks for putting our great videos as always 🙂

    • @kirillholt2329
      @kirillholt2329 2 місяці тому +1

      I've taken them all up to PDE and still needed 3 months of re-learning/studying to fully comprehend what's going on.

    • @MikeShah
      @MikeShah  2 місяці тому

      @@kirillholt2329 Perhaps in the future there will be curriculum applied to graphics / programming to help make some of this stuff stick :) -- same issue for me in school

  • @LiamOfOzz
    @LiamOfOzz 2 місяці тому +2

    Peak timing, I really needed this thanks Mike!

  • @yumekarisu9168
    @yumekarisu9168 2 місяці тому +2

    Wow What a nice timing, I was recently interested getting into graphics programming. Thanks for the recommendation

  • @notdeus3834
    @notdeus3834 2 місяці тому +4

    ❤ I dont know how to express how much I appreciate this. Thanks, doc

    • @MikeShah
      @MikeShah  2 місяці тому

      Cheers, you are most welcome!

  • @__hannibaalbarca__
    @__hannibaalbarca__ 2 місяці тому +2

    I do OpenGL 20 years ago, for same project with Pascal Language, and now i try it with C++.

    • @MikeShah
      @MikeShah  2 місяці тому

      Wonderful! I had played around with OpenGL in Lazarus/FPC long ago as well :)

  • @francobevacua6573
    @francobevacua6573 2 місяці тому +1

    Thanks a lot Mike! I've always been really interested in graphics programming but I didn't know where to start. This resources seems to be very nice for starting. I hope you make more videos about this topic :)

    • @MikeShah
      @MikeShah  2 місяці тому +1

      Cheers! 3 more videos coming this week in my opengl graphics series 🙂

  • @amber1862
    @amber1862 2 місяці тому +1

    Absolutely love these kinds of videos. You always keep things real and approachable. Thank you.

    • @MikeShah
      @MikeShah  2 місяці тому

      Cheers, thank you for the kind words!

  • @leorium
    @leorium 2 місяці тому +6

    thank you for the amazing content 🎉

    • @MikeShah
      @MikeShah  2 місяці тому

      @@leorium cheers, thank you for the kind words!

  • @Matt2010
    @Matt2010 2 місяці тому +1

    Is always best to stick with whats been tried and true like OpenGL. Newer stuff is fine, but hasn't been around as long and not always going to be perfect for specific uses.

    • @MikeShah
      @MikeShah  2 місяці тому

      Indeed, OpenGL remains a good starting point on multiple platforms. We'll see how webGPU develops otherwise.

  • @PaulMetalhero
    @PaulMetalhero 2 місяці тому +1

    I agree. Contrary to what Jonathan Blow says, I think OpenGL is great to start diving in the graphics programming world

    • @MikeShah
      @MikeShah  2 місяці тому +1

      Most of the graphics techniques transfer (e.g. buffers, depth testing, shaders, glsl, etc.) so I think it's a good place to start. OpenGL 4.5/6 actually is not too bad of an API if you're able to just use the new stuff

    • @PaulMetalhero
      @PaulMetalhero 2 місяці тому +1

      @@MikeShah And also it's compatible with plenty of hardware

    • @MikeShah
      @MikeShah  2 місяці тому +1

      @@PaulMetalhero agreed!

    • @MikeShah
      @MikeShah  2 місяці тому +1

      @@PaulMetalhero projects like Angle (from Google) will also translate calls to Vulkan backend, so OpenGL should be fine for some time

    • @PaulMetalhero
      @PaulMetalhero 2 місяці тому

      @@MikeShah Yes. Also, as you may know, there is this linux driver that implements OpenGL on top of Vulkan. So, we have compatibility for ages. Great video, btw!

  • @John-iy1gl
    @John-iy1gl 2 місяці тому +3

    Thanks!

  • @TheClintJohnston
    @TheClintJohnston 2 місяці тому +1

    But if OpenGL in 2024 is just a stepping stone to learning Vulkan, how much of this do I really need to go through before I'm ready to make the leap? Like I appreciate a gentle introduction as a beginner, but my concern is I don't want to invest years becoming deeply familiar with the OpenGL API and then find I'm still not qualified for any jobs in graphics because the industry has moved on to Vulkan.

    • @MikeShah
      @MikeShah  2 місяці тому +2

      Once you understand buffers, shaders, glsl, depth test, some of the matrix math, and are able to build a small game, then I think folks could move on if they like.

    • @TheClintJohnston
      @TheClintJohnston 2 місяці тому +1

      @@MikeShah Thank you for the response Mike! I should have also started with thanking you for putting out all the great content that you do! I've been working my way through the free OpenGL course on your website and it's been great :)

    • @MikeShah
      @MikeShah  2 місяці тому +1

      @@TheClintJohnston Cheers!

  • @cquezel
    @cquezel 2 місяці тому +1

    What about web graphic programming sources?

    • @MikeShah
      @MikeShah  2 місяці тому

      webglfundamentals.org/ was a resource I had previously used. I actually think webGPU may be an approachable enough API to jump straight into.

  • @kuijaye
    @kuijaye 20 днів тому +1

    How would you go about reading those book? Or any book?

    • @MikeShah
      @MikeShah  19 днів тому

      Generally as I read the chapter I code along. Most books I've mentioned (Ray Tracing in One Weekend, C++ and OpenGL Graphics Programming, etc.) are structured in that way to provide full code examples as you go along. The key is to do the programming, and try to play with the examples.

    • @kuijaye
      @kuijaye 19 днів тому +1

      @@MikeShahThanks Mike! got it.
      You mentioned you almost finished the red book in a summer. This is amazing considering the size of that book. Do you skip certain parts of a chapter and read the most important parts that give you the key understanding and idea of that chapter or do what i do which is reading word by word until the chapter is finished? The latter sometimes makes it easy for me to abandon reading a book but the former has the risk of loosing some details that could contribute to a better understanding.

    • @MikeShah
      @MikeShah  19 днів тому

      @@kuijaye It depends on the book, generally I don't skip, but I think it's fine to do so, and then re-read a text again. I think the key with the red book, is probably to read the 'Introduction to C++ and OpenGL programming' (or alternatively learnopengl.com or an OpenGL video series (e.g. mine :) )) book first that gives a good guide and tour of graphics. Then when you jump into a red book, that explains all the nitty gritty details to help make sense of things. At least I've found that strategy to work well for me.

    • @kuijaye
      @kuijaye 19 днів тому +1

      @@MikeShah So a first pass for a broad understanding and a second or maybe multiple pass through the book for the details. That sounds a very good and doable plan. I will try to do it this way. I'm already watching your videos and managed to draw the triangle. I plan to finish it! Thanks again Mike for your time and efforts

  • @Hailfire2455
    @Hailfire2455 Місяць тому +1

    Hello Mike thanks for video I've a question that Currently I'm learning C++ so should i learn computer graphics stuff with resource you gave like raytracing in one weekend book and scratchapixel's website side by side with c++ or should i first complete c++ and then move on to these topics ., and thanks for your detailed C++ videos :)

    • @MikeShah
      @MikeShah  Місяць тому +1

      I would recommend first doing a little bit of C++ first. (Either this free playlist ua-cam.com/play/PLvv0ScY6vfd-R9N-vIDXdd4HO9IYATIxJ.html or this course: courses.mshah.io/courses/quick-start-introduction-to-modern-c-image-loader) Then as you said -- taking on a project to learn more. I highly would recommend the raytracingi n one weekend book, as it has the source as a fallback, and you can incrementally improve it as you learn more C++.

    • @Hailfire2455
      @Hailfire2455 Місяць тому +1

      @@MikeShah thnx ❤

    • @MikeShah
      @MikeShah  Місяць тому

      @@Hailfire2455 Cheers!

  • @MikhailZavelskii
    @MikhailZavelskii 2 місяці тому

    Hi Mike. Could you suggest some good Books, Courses, Videos to study Embedded C/C++ for IOT development including RTOS? I'd like to get into it

    • @MikeShah
      @MikeShah  2 місяці тому +1

      Unfortunately I have not done much in the embedded space in some time. There's a specific conference for C++ and embedded space that otherwise has resources: embo.io/

  • @guilherme5094
    @guilherme5094 2 місяці тому +1

    👍

  • @TAKIROLI07
    @TAKIROLI07 2 місяці тому +1

    Mike are you from iran ?!!

  • @crazymemes4080
    @crazymemes4080 2 місяці тому

    Sir can you make playlists on building desktop applications using c++. Btw i want to ask one question are you indian ?

  • @scholarbynightofficial
    @scholarbynightofficial 2 місяці тому +1

    Thanks!