OpenGL Course - Create 3D and 2D Graphics With C++

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ม.ค. 2025

ความคิดเห็น •

  • @VictorGordan
    @VictorGordan 3 ปีที่แล้ว +1825

    Hey everyone, I hope you've enjoyed the course I've made, had a lot of fun making it! :)

    • @user-pr8jz7fz8j
      @user-pr8jz7fz8j 3 ปีที่แล้ว +7

      Just what I was looking for, thanks!

    • @oggy107
      @oggy107 3 ปีที่แล้ว +8

      thanks dude...

    • @ANILKUMAR-cc3lb
      @ANILKUMAR-cc3lb 3 ปีที่แล้ว +6

      Nice dude

    • @samiulislamsharan
      @samiulislamsharan 3 ปีที่แล้ว +5

      I'm getting error while including #include

    • @oggy107
      @oggy107 3 ปีที่แล้ว +4

      @@samiulislamsharan try checking additional include directory is correct or not in project properties.

  • @EminTuralic
    @EminTuralic 3 ปีที่แล้ว +310

    What a blessing - I'm learning OpenGL currently and it's hard to find self-consistent sources. Thank you so much.

    • @vitorgdc
      @vitorgdc 3 ปีที่แล้ว +15

      Yeah, for sure... I kinda wish those types of things came with some kind of pdf or documentation guiding you through all the commands and codes. But hey, I found this video so I'll dive right in

    • @wertiaaudit5746
      @wertiaaudit5746 2 ปีที่แล้ว +4

      @@vitorgdc they do

    • @magmu7956
      @magmu7956 8 หลายเดือนก่อน

      @@wertiaaudit5746 where ?

    • @chrisflory1268
      @chrisflory1268 8 หลายเดือนก่อน +1

      keep going man i just started preddy much i just have the knolege of barely the apps and software i got to use its insane how many loop holes u goota go threew and how many things u gotta know just to start try ing to code almost anything . good luck

  • @freecodecamp
    @freecodecamp  3 ปีที่แล้ว +100

    More OpenGL resources that wouldn't fit in the description:
    🔗 OpenGL Docs: www.khronos.org/registry/OpenGL-Refpages/gl4/
    🔗 glTF file format: godotengine.org/article/we-should-all-use-gltf-20-export-3d-assets-game-engines
    🔗 JSON library: github.com/nlohmann/json
    🔗 glm Library: glm.g-truc.net/0.9.9/index.html
    🔗 3Blue1Brown's Linear Algebra Playlist: th-cam.com/play/PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab.html
    🔗 stb Library: raw.githubusercontent.com/nothings/stb/master/stb_image.h
    🔗 Visual Studio: visualstudio.microsoft.com/downloads
    🔗 CMake: cmake.org/download
    🔗 GLFW: www.glfw.org/download.html
    🔗 Glad: glad.dav1d.de

    • @SujeetKumar-gu8ox
      @SujeetKumar-gu8ox 3 ปีที่แล้ว +2

      Please one video for CUDA C

    • @prezadent1
      @prezadent1 3 ปีที่แล้ว +1

      The chapter timelist thingy isn't working.

    • @samuelgirmagirma4019
      @samuelgirmagirma4019 3 ปีที่แล้ว

      i am geting this error on glad
      Application is not available
      The application is currently not serving requests at this endpoint. It may not have been started or is still starting.
      Possible reasons you are seeing this page:
      The host doesn't exist. Make sure the hostname was typed correctly and that a route matching this hostname exists.
      The host exists, but doesn't have a matching path. Check if the URL path was typed correctly and that the route was created using the desired path.
      Route and path matches, but all pods are down. Make sure that the resources exposed by this route (pods, services, deployment configs, etc) have at least one pod running.

    • @milanchrenko
      @milanchrenko 3 ปีที่แล้ว

      @@samuelgirmagirma4019 You can change link from http to https and then work.

    • @neilwilkinson4243
      @neilwilkinson4243 2 ปีที่แล้ว

      Please pin this post, it's lost down here :)

  • @takapapatapaka5326
    @takapapatapaka5326 ปีที่แล้ว +62

    If needed, here are some timestamps :
    (edit : there is a more precise list in the description)
    0:08 Welcome
    1:22 Install
    6:34 Window
    14:25 Triangles
    29:24 Index Buffer
    32:33 Organizing
    38:34 Shaders
    46:38 Textures
    56:07 Going 3D
    1:04:09 Camera
    1:10:10 Lighting
    1:18:15 Specular Maps
    1:20:17 Types of Light
    1:24:33 Mesh Class
    1:31:27 Model Loading
    Good luck to you all and thx to the creator for this course

    • @anniemannie6
      @anniemannie6 ปีที่แล้ว

      checkout the description

    • @takapapatapaka5326
      @takapapatapaka5326 ปีที่แล้ว +1

      @@anniemannie6 yeah, i did not notice them first time i watched the video and once found, i find them to be a bit too overwhelming. I edited my comment to avoid confusion, thank you for pointing it out !

  • @radshiba_
    @radshiba_ 2 ปีที่แล้ว +104

    This course is super useful, my only issue has been that the footage is sped up so much to the point where I have trouble following along with the video at 0.25x speed. It gets pretty frustrating. Aside from that, I'm learning a lot though!

    • @swishchee
      @swishchee 2 ปีที่แล้ว +12

      What I've been often doing in that case (for any sped-up video like that) is to pause the video and use comma and full-stop to frame skip forward and backwards.

    • @daskampffredchen
      @daskampffredchen 2 ปีที่แล้ว +3

      I would also recommend Enhancer for TH-cam. It also allows you to set the speed to 10%

    • @Freg-ld2lo
      @Freg-ld2lo ปีที่แล้ว +8

      skill issue

    • @Csaim
      @Csaim ปีที่แล้ว

      lol@@Freg-ld2lo

  • @anasssoulimani9288
    @anasssoulimani9288 3 ปีที่แล้ว +206

    No way, I start this semestre with C++,you guys put an oop video. I start UML before Java and you guys put an UML video. My teacher asks me to create an-ecomerce website and you guys put the same thing. And now I'm on holiday, I start watching brian will videos on opengl and you guys post this.Thanks a lot!!❤❤❤❤❤❤❤❤

    • @vojtastruhar8950
      @vojtastruhar8950 3 ปีที่แล้ว +2

      @Victor Joseph me too

    • @bmejia220
      @bmejia220 3 ปีที่แล้ว +7

      Awesome Anass
      best of luck in your programming career!

    • @SirusStarTV
      @SirusStarTV 3 ปีที่แล้ว

      @A Z of course, it's not like mac os

    • @ZiplawDev
      @ZiplawDev 2 ปีที่แล้ว

      @BeeBop I still find UML somewhat useful, if not in it's purest form, to lay out code structure and how problems should be tackled and what not

    • @unknownpng650
      @unknownpng650 หลายเดือนก่อน

      student 1337

  • @TheVideoChatter
    @TheVideoChatter 3 ปีที่แล้ว +37

    I've been searching for ways to learn C++ graphics rendering and then you go and upload my solution. Just what I needed today, thank you so much!

    • @_Mrunalwankhede
      @_Mrunalwankhede 2 ปีที่แล้ว +2

      i have no idea what gl do, can you please explain, what it is and what it is used for, so that i can think, if i need it

    • @gooficat
      @gooficat 9 หลายเดือนก่อน

      @@_Mrunalwankhede It is used for low level graphics development,
      for example if you wanted to make a 3d graphics engine you would use opengl

  • @TheMrInnokenty
    @TheMrInnokenty 3 ปีที่แล้ว +43

    I’ve started an SDL course a week ago, and here’s OpenGl. That’s just perfect 👌🏽

  • @matteo_mcguinness
    @matteo_mcguinness 3 ปีที่แล้ว +248

    Literally what I wanted to learn. How am I so lucky?

    • @frosty7674
      @frosty7674 3 ปีที่แล้ว +1

      Same XD

    • @ANILKUMAR-cc3lb
      @ANILKUMAR-cc3lb 3 ปีที่แล้ว +4

      God blessed you

    • @Paramjit_purewal
      @Paramjit_purewal 3 ปีที่แล้ว +2

      Me too, and this happened to me third time, don't know how they always do this

    • @AbhishekReloaded
      @AbhishekReloaded 3 ปีที่แล้ว

      They are secret Artificial machines reading our minds through some algorithm constantly

    • @AirshipToday
      @AirshipToday 3 ปีที่แล้ว

      me too

  • @moccadocca9234
    @moccadocca9234 3 ปีที่แล้ว +18

    OMG I've been looking around for good OpenGL courses. Perfect timing!

  • @EL-cb1nu
    @EL-cb1nu 3 ปีที่แล้ว +113

    I guess a lot of people have started building their own graphics engines during pandemic haha. Nice video!

  • @Kapalatus
    @Kapalatus 2 ปีที่แล้ว +9

    You had me at "You can show that window to your imaginary friends"....

  • @ThatGuyDownInThe
    @ThatGuyDownInThe 2 ปีที่แล้ว +1

    after a year of talking I'm finally coding openGL in c++, thanks so much for this tutorial it was GREAT.

    • @VictorGordan
      @VictorGordan 2 ปีที่แล้ว +3

      Good to hear u liked it :)

  • @jeanjacquesstrydom
    @jeanjacquesstrydom 3 ปีที่แล้ว +42

    This is an absolutely awesome tutorial, thank you so much for making it! I just wish people would make more OpenGL tutorials that are a bit more cross-platform, rather than just always focusing on Windows

    • @VictorGordan
      @VictorGordan 3 ปีที่แล้ว +6

      Thank you! Sadly it would be quite a bit more work to translate it to the other OSs and then also check if it works properly on them, and I just don't have that kind of time right now in university...

    • @jeanjacquesstrydom
      @jeanjacquesstrydom 3 ปีที่แล้ว +1

      @@VictorGordan yeah I can definitely imagine that. And as someone that makes videos as well I can totally sympathize with you, it was more just my frustration from trying to do graphics programming outside of windows 😅

    • @SomeRandomPiggo
      @SomeRandomPiggo ปีที่แล้ว

      I'm doing this on Linux, fine so far

  • @industrialdonut7681
    @industrialdonut7681 3 ปีที่แล้ว +5

    this is crazy high quality like I'm actually able to follow along with almost no problems so far

  • @ra1games79
    @ra1games79 3 ปีที่แล้ว +16

    Amazing! I want more tutorials like this about OpenGL ! :)

  • @BangMaster96
    @BangMaster96 3 ปีที่แล้ว +48

    This was so awesome. I love you guys for giving us free education. Please if possible, make a course on developing a video game using OpenGL

  • @tappingrat2469
    @tappingrat2469 3 ปีที่แล้ว +3

    BEST course ever! Thanks man, thanks to you I'll pass my college!

    • @VictorGordan
      @VictorGordan 2 ปีที่แล้ว +1

      Did you pass? 👀

  • @mattstopa9436
    @mattstopa9436 ปีที่แล้ว +2

    Excellent lecture. I at first had a hard time with the accent but the way things were explained was so good that I got it!

  • @gabegonzalez764
    @gabegonzalez764 10 หลายเดือนก่อน

    Thanks for the tutorial. 99 percent of all my problems were self inflicted typos in the shaders. Spent forever trying to fix a lighting issue only to find out I had a comma instead of a period in one of the floats. lol Thanks again!

  • @thebeaverkidd2970
    @thebeaverkidd2970 2 ปีที่แล้ว +5

    You plus the OpenGL/C++ 3D Tutorial by Suraj Sharma combined has helped me learn a lot really quickly for starting to do a 3d game.
    The only thing I feel like you could have touched on is Resizing the window which i later on found out I could to by changing the width and height from 'const static int' to just 'int' and then in the while loop do this:
    glfwGetFramebufferSize(window, &width, &height);
    glViewport(0, 0, width, height);
    camera.Matrix(45.0f, 0.1f, 100.0f, shaderProgram, "camMatrix", height, width);
    I added int height and width to the camera::matrix function in Camera.cpp and .h to update the camera size or else everything just stretched whenever I resized the window
    but for anyone else experiencing this issue here you go : )
    (oh yea, you also need 'glfwWindowHint(GLFW_RESIZABLE, GL_TRUE);' by all the other glfwWindowHint's for resizing)

  • @jamespottex5197
    @jamespottex5197 3 ปีที่แล้ว +210

    This channel solely can beat a university degree

    • @alexismandelias
      @alexismandelias 3 ปีที่แล้ว +53

      This comment is precisely why you should get a university degree

    • @techtycho4752
      @techtycho4752 3 ปีที่แล้ว +3

      True

    • @mujtabahussain7015
      @mujtabahussain7015 3 ปีที่แล้ว +7

      but still having a degree helps.

    • @theworldminusraphtheninjat4378
      @theworldminusraphtheninjat4378 3 ปีที่แล้ว +3

      @@alexismandelias when did u graduate exactly?

    • @alexismandelias
      @alexismandelias 3 ปีที่แล้ว +5

      @@theworldminusraphtheninjat4378 haven't graduated yet, but still I know more than what a TH-cam channel could ever hope to "teach"

  • @mehlodey8615
    @mehlodey8615 2 ปีที่แล้ว +7

    This is genuinely the best programming tutorial i think i have ever seen in my life. you really saved me with this, and i feel like i actually understand everything that went into doing this. cant thank you enough for this amazing course

  • @suleimanmalocanstveni2342
    @suleimanmalocanstveni2342 ปีที่แล้ว

    Honestly, this is the only course I've ever enjoyed learning

  • @robopigs6877
    @robopigs6877 ปีที่แล้ว

    You are honestly a legend, thanks to you i finally understand all these complex topics of openGL and have made an amazing project alongside you

  • @cassolmedia
    @cassolmedia 2 ปีที่แล้ว +1

    Definitely the best opengl tutorial I've seen so far!

    • @wertiaaudit5746
      @wertiaaudit5746 2 ปีที่แล้ว +2

      While true , definitely needs more detail. To learn opengl to become expert it's like 12 hours

    • @cassolmedia
      @cassolmedia 2 ปีที่แล้ว

      @@wertiaaudit5746 I'm glad you agree with me that is the best one I've seen lol

    • @arthurvieira2104
      @arthurvieira2104 2 ปีที่แล้ว

      @@wertiaaudit5746 for real, he doesn't teach much of how it actually works

  • @rootwayder77
    @rootwayder77 3 ปีที่แล้ว +4

    Finally what i wanted the most... Love you codecamp 💕

  • @qdeanc
    @qdeanc 2 ปีที่แล้ว

    Your English pronunciation is beautifully clear 👌

  • @PureASM-ShellCoder
    @PureASM-ShellCoder 7 หลายเดือนก่อน

    This tutorial video was definitely eye-opening & insightful, I've read about OpenGL & DirectX game dev, but nothing really stuck /w me. This course video really shed some light on it. Thank you, I appreicate it !! 😎

  • @nxone9903
    @nxone9903 3 ปีที่แล้ว +1

    Referenced The Cherno?? Now this is awesome

    • @sourakantimandal6026
      @sourakantimandal6026 2 หลายเดือนก่อน

      PLEASE REPLY______Which one did you find better ? This one or the Cherno ? Which one will you suggest to a beginner in graphics programming ? (I know C++)

  • @innovationscode9909
    @innovationscode9909 3 ปีที่แล้ว +1

    It's absolutely breath-taking. Beautiful

  • @BBdaCosta
    @BBdaCosta 3 ปีที่แล้ว +16

    Great course, loving the exercises and the explanations

  • @ConspiracyCraftersStudio
    @ConspiracyCraftersStudio 3 ปีที่แล้ว +9

    Its a bit too fast delivery for a beginner but i've managed after 5 hours of following the tutorial to code spinning, textured pyramide. If you could explain and code it slower it would be one of the best opengl tut on youtube. Its still very good! Gonna build my simple render/game engine based on this project. Much appreciated

    • @VictorGordan
      @VictorGordan 3 ปีที่แล้ว +4

      Yeah, it can be a bit fast at times, but it's hard to find a good balance. Too slow and more advanced programmers will get bored and just quit, too fast, and beginner programmers will get lost and quit. I tried to do it somewhat in between fast and slow, with fast programming, but slow explanations. Thanks for the compliments though :) And good luck with your project!

    • @michaelatorn8380
      @michaelatorn8380 2 ปีที่แล้ว +2

      @@VictorGordan Some parts where he copy and pasted things were just 0.1 seconds. It's not about the explainations, the talking was fine.

    • @josephfoster1987
      @josephfoster1987 2 ปีที่แล้ว

      Watch it on a lower speed?

    • @codetuber3659
      @codetuber3659 3 หลายเดือนก่อน +1

      @@VictorGordan Wow! I didn't expect to see the creator of the course here! I'm about to start now, so in case you see this, thank you in advance!

  • @KennyYipCoding
    @KennyYipCoding 3 ปีที่แล้ว +18

    Ahh this brings back so many memories. I took computer graphics in college. Was one of the most difficult courses I've ever taken :(

    • @Adhithya2003
      @Adhithya2003 3 ปีที่แล้ว

      @@kidmosey I felt that. What once considered scarce is now available just clicks away.

    • @zwackyzack
      @zwackyzack 3 ปีที่แล้ว +2

      @@kidmosey feel proud that you did that because some people wont even get through this video haha

  • @WhatDoYouWant000
    @WhatDoYouWant000 8 หลายเดือนก่อน +1

    really good tutorial the information sticks to your head faster than gum sticking to your dry hair

  • @ath.bar.7671
    @ath.bar.7671 3 ปีที่แล้ว +2

    Anyone else has tried to learn OpenGL/WebGL and given up but later on found this video and understood everything?

    • @yoyo12345
      @yoyo12345 2 ปีที่แล้ว +2

      Yessss me

    • @VictorGordan
      @VictorGordan 2 ปีที่แล้ว +2

      Nice to hear that :3

  • @Rittberger.
    @Rittberger. 3 ปีที่แล้ว +7

    Очень хороший туториал. Просто отличный. Всё понятно, всё доступно. Все основные проблематики разобраны. Супер.

  • @draneolfesoj13
    @draneolfesoj13 ปีที่แล้ว

    this tutorial is easy to understand and it explains the details of how to properly make the graphics work maybe if i have a time thank you for this tutorial.

  • @neillunavat
    @neillunavat 3 ปีที่แล้ว

    I have been struggling with OpenGL and here we have it! Lets go!

  • @anprabh1
    @anprabh1 ปีที่แล้ว +2

    Learning OpenGL makes me feel like I am learning black magic. It feels surreal to use the core and the quite dreaded concepts of C++ so much. I didn't even know that there is something called a "void pointer", which is basically a shape-shifter beast that cannot be killed unless it takes on a proper form.

  • @BLOPIsUrM8
    @BLOPIsUrM8 3 ปีที่แล้ว +4

    I like the fact that he organized the files after the basics.

    • @VictorGordan
      @VictorGordan 2 ปีที่แล้ว +1

      Thank you, I tried. Still not the best organization, but better than nothing I guess 😅

  • @ajinkyax
    @ajinkyax 3 ปีที่แล้ว +22

    Quick info. Open GL is not a framework or library, it's just a set of rules/guidelines that each Graphics card companies have to implement. And we as programmers have to call them. Hence each card has different openGL API

    • @harryplotter1389
      @harryplotter1389 3 ปีที่แล้ว +9

      Yes, but GLFW is a library.

    • @wertiaaudit5746
      @wertiaaudit5746 2 ปีที่แล้ว +2

      Opengl does have a framework and a library , video card companies also have their own library to communicate with opengl and vice versa

  • @bin9294
    @bin9294 3 ปีที่แล้ว

    This is the best OpenGL course I saw.

  • @mariusd6100
    @mariusd6100 2 ปีที่แล้ว +3

    why is this so mind numbingly complicated. Great tutorial explaining it all.

    • @acatfrompoland5230
      @acatfrompoland5230 2 ปีที่แล้ว

      Because OpenGL is reasonably flexible with what it allows you to do (Aka low level).

  • @saidielhoussaine8007
    @saidielhoussaine8007 2 ปีที่แล้ว

    The Quality of this material is high , congratulations

  • @bin9294
    @bin9294 3 ปีที่แล้ว

    Thanks!

    • @csicee
      @csicee 3 ปีที่แล้ว +2

      Noo the channel didnt make the vid dont donate to them

  • @wolpumba4099
    @wolpumba4099 4 หลายเดือนก่อน

    *Creating 3D Graphics with OpenGL and C++: A Comprehensive Tutorial*
    * *0:00** Introduction:* The course provides an overview of OpenGL, a cross-platform graphics API used for rendering 2D and 3D scenes, emphasizing the utilization of GPUs for parallel processing in graphics rendering.
    * *1:22** Installation and Setup:* The video guides viewers through installing necessary tools and libraries like CMake, GLFW, and GLAD, and configuring Visual Studio for OpenGL development.
    * *6:34** Window Creation:* The tutorial demonstrates how to create an OpenGL window using GLFW, including handling window events and adding color.
    * *14:25** Rendering a Triangle:* The video covers the basics of the graphics pipeline, explaining vertex and fragment shaders, vertex buffer objects (VBOs), and vertex array objects (VAOs), ultimately rendering a triangle.
    * *29:24** Index Buffers:* This section introduces index buffers to optimize rendering by reusing vertices and avoid duplicates, showcasing this with multiple triangles. [From Comments] There's a timestamp list for those who need it.
    * *32:33** Code Organization:* The tutorial emphasizes code organization by introducing classes for shaders, VBOs, EBOs, and VAOs, enhancing code readability and reusability. [From Comments] Many commenters appreciated this focus on organization after the initial basics.
    * *38:34** Shaders In-Depth:* The video delves deeper into shaders, explaining their properties, adding vertex colors, and introducing uniforms for controlling shader variables.
    * *46:38** Textures:* This section focuses on loading and applying 2D textures using the stb library. [From Comments] The instructor added numerous links in the comments to relevant documentation for OpenGL, GLTF, and other libraries, supplementing the information provided in the video.
    * *56:07** Going 3D with Matrices:* The tutorial explains 3D transformations using matrices (model, view, and projection) provided by the GLM library. It demonstrates creating a 3D pyramid and adding basic rotation.
    * *1:04:09** Camera Control:* This section implements a camera class for controlling viewpoint and movement within the 3D scene using keyboard and mouse inputs. [From Comments] Several viewers appreciated the camera control implementation and shared tips on extending its functionality, such as adding window resizing capabilities.
    * *1:10:10** Lighting Basics:* The tutorial introduces basic lighting concepts, including diffuse, ambient, and specular lighting, utilizing normals to calculate light interaction with surfaces.
    * *1:18:15** Specular Maps:* This part covers using specular maps to enhance lighting realism by controlling specular reflections based on texture data.
    * *1:20:17** Light Types:* The video explores different types of light sources: point lights with attenuation, directional lights, and spotlights, demonstrating their implementation and effects.
    * *1:24:33** Mesh Class:* This section combines previous concepts into a mesh class, wrapping vertices, indices, and textures for rendering complex objects. [From Comments] There's a comment detailing how to compile this code on Linux using g++.
    * *1:31:27** Model Loading:* The final section builds a basic model loader to import 3D models in GLTF format, utilizing JSON parsing for accessing model data. [From Comments] The instructor acknowledges the limitations of this basic importer, recommending Sketchfab as a good source for models that tend to work well with the importer.
    I used gemini-1.5-pro-exp-0801 on rocketrecap.com to summarize the transcript.
    Cost (if I didn't use the free tier): $0.19
    Input tokens: 53141
    Output tokens: 742

  • @michaelatorn8380
    @michaelatorn8380 2 ปีที่แล้ว +5

    "Copy the same functions as me"
    ~proceeds with 10x speed~

  • @atzefatze
    @atzefatze 3 ปีที่แล้ว +3

    ...im glad you did the video in speed x10.

  • @kjyhh
    @kjyhh 3 ปีที่แล้ว +1

    Great video of openGL. Thanks so much.
    POV: Pointing is better than zooming.

  • @JamesJohnAgar
    @JamesJohnAgar 3 ปีที่แล้ว +12

    Excellent tutorials especially using graphics in C++, maybe offer some tutorials on creating a full scale Application in C++ as well.

  • @nyxspirited509
    @nyxspirited509 2 ปีที่แล้ว +2

    What they teach at school :
    cout

  • @mlag15
    @mlag15 3 ปีที่แล้ว +46

    13:53 That's a lot of damage.

  • @gnsf
    @gnsf 3 ปีที่แล้ว

    I always wanted to learn opengl, i'll check the whole video as soon as possible

  • @yogxoth1959
    @yogxoth1959 2 หลายเดือนก่อน

    In case anyone else finds his triangle vertices calculations confusing, I might have a better explanation:
    The height of an equilateral triangle is sqrt(3) / 2 when the side length is 1.
    The distance of the top vertex to the centroid is 2 times the distance from the centroid to the midpoint on the base, so the ratio is 2:1.
    The y_offset is a third of the triangle's height: (sqrt(3)/2) / 3 = (sqrt(3)/2) * 1/3 = sqrt(3) / 6.
    This is Python code btw, you'll have to translate it to C yourself. I would recommend using the sqrtf function instead of float(sqrt(x)) like he does, since sqrtf returns a float directly.
    y_offset = sqrt(3) / 6
    x1, y1 = -0.5, -y_offset
    x2, y2 = 0.5, -y_offset
    x3, y3 = 0, y_offset * 2
    In my mind that is clearer. Multiplying y3 by 0.5 didn't make any sense to me, although it is equivalent.

  • @REDJ1
    @REDJ1 3 ปีที่แล้ว +2

    @6:27 after clicking the debugger i get an error saying "unable to start program, the system cannot find the specified file" :(

  • @EngineerDJ_Julius
    @EngineerDJ_Julius 3 ปีที่แล้ว +1

    NGL, the sushi in the thumbnail is on point

  • @MT-rc3gn
    @MT-rc3gn 2 ปีที่แล้ว +1

    You cant configure with Cmake with Visual Studio 2019 as in timestamp 3:12. use the latest version!

  • @kryptermusic
    @kryptermusic 2 ปีที่แล้ว

    This course is so fun and it is really interesting to see how OpenGL works. I currentlly used mingw and vscode. I got the libglfw3.a and the libglfw3.dll from the windows binaries and to compile the code i used g++ to link the libraries and include the include folder. But thanks anyways for showing me how to set up a OpenGL project in VS.

  • @abhishekbiswas2267
    @abhishekbiswas2267 3 ปีที่แล้ว +1

    Didn't know you guys were expert in reading minds apart from coders 😘🥰😍🥰 This is just awesome... Thanks a zillion powered zillion times..

    • @Uvuv6969
      @Uvuv6969 2 ปีที่แล้ว

      Ok boomer

  • @TOI-700
    @TOI-700 3 ปีที่แล้ว

    Thanks a lot,It greatly helps Tier 3 college students., thank you

  • @barmetler
    @barmetler 3 ปีที่แล้ว +5

    I have used DirectX11 before with hlsl shaders, but I always wanted to learn opengl. This is perfect!

  • @penk1838
    @penk1838 ปีที่แล้ว

    realy happy at the fact it worked at the first try

  • @faei1897
    @faei1897 2 ปีที่แล้ว +1

    Heads up for anyone concerned - this works perfectly fine with Visual Studio 17 (Visual Studio 2022). The application's Intellisense will take a hot second (usually one-two days at worst) to comprehend all the functions inside the glfw/glad libraries but will work and help later on.

    • @paluszki14741
      @paluszki14741 ปีที่แล้ว

      does this mean i should specify the generator in cmake as visual studio 17 or 16 like in the video?

  • @selfishyasamanazizallahi
    @selfishyasamanazizallahi 3 ปีที่แล้ว +1

    OpenGL真的对游戏开发很重要。

  • @moofymoo
    @moofymoo 3 ปีที่แล้ว +1

    yey.. now in 2021 it is even more convoluted to set up hello world project in opengl.

  • @i_AmCurious
    @i_AmCurious ปีที่แล้ว

    Really helpful for understanding 3d rendering process,❤❤❤❤❤❤❤❤❤❤❤❤

  • @slothlair
    @slothlair 3 ปีที่แล้ว +1

    Looks really good for covering fundamentals and Game Engine design.

  • @dansanfranman
    @dansanfranman 2 ปีที่แล้ว +33

    Such a good course made SO FRUSTRATING by the fact that it's sped up so much that you have to scrub through frame by frame in order to catch changes.

  • @phraggers
    @phraggers 2 ปีที่แล้ว +2

    1:20:08 i've checked and double and triple checked i copied the code EXACTLY as he shows on the screen (I watched at 0.2x speed) but my specular lighting doesn't look like that, there's a small sphere of light on the floor, the rest is 100% dark, any suggestions? EDIT: checking the code on github it's a bit different, I guess he changed it after making the video, so it seems you can't follow along just by watching the video. shame!

  • @tylerstevens9022
    @tylerstevens9022 2 ปีที่แล้ว

    that set up was pretty lit

  • @river6634
    @river6634 3 ปีที่แล้ว +1

    This channel... it fucking rocks.

  • @omegafala720
    @omegafala720 2 ปีที่แล้ว +3

    17:30 Bad... I want link of this code

  • @pranavtiwari_yt
    @pranavtiwari_yt 3 ปีที่แล้ว

    U guys are literally reading our minds

  • @mani98
    @mani98 3 ปีที่แล้ว

    Yo I was about to prepare for a computer graphics class, this is the vid all thanks!

  • @methodinsane
    @methodinsane 3 ปีที่แล้ว +3

    Very good. Thanks. My only criticism is the volume is very low - relative to most other media/content. Other than that thank you very much.

  • @tan8067
    @tan8067 3 ปีที่แล้ว

    Needed this badly! Thank you

  • @brennankabalkin4840
    @brennankabalkin4840 2 ปีที่แล้ว +2

    Great tutorial! Excellent explanations

  • @againstobs
    @againstobs 2 ปีที่แล้ว +1

    Thank you very much for this lesson,!!

  • @dr20231may
    @dr20231may 2 ปีที่แล้ว +3

    Perfect tutorial , thank you

  • @Morax
    @Morax 3 ปีที่แล้ว +1

    The whole process of cutting/copying/pasting stuff between different explorer windows around 4:00 would be made so so so much easier and faster with Total Commander

    • @Morax
      @Morax 3 ปีที่แล้ว

      Also just to add, this tutorial is amazing. Thank you!

    • @VictorGordan
      @VictorGordan 3 ปีที่แล้ว

      @@Morax Thanks, glad you liked it! :)

  • @thincvivid
    @thincvivid 3 ปีที่แล้ว

    This is one grateful comment section!

  • @antoniradny2188
    @antoniradny2188 2 ปีที่แล้ว

    You even went through all the trouble to make the additional excercises so we could train! I feel bad for enjoying this gold for free

    • @VictorGordan
      @VictorGordan 2 ปีที่แล้ว

      Good to know some people actually do them haha
      I think most people missed those :c

  • @adamrushford
    @adamrushford 24 วันที่ผ่านมา

    very nice my friend, very nice indeed, never stop though

  • @sybinhduong5906
    @sybinhduong5906 2 ปีที่แล้ว

    This course is very useful and easy to follow even in normal speed of the video. Thank you very very much for making this

  • @TejasIsAmazing
    @TejasIsAmazing 3 ปีที่แล้ว +3

    after 03:09 i get an error in cmake "Error in configuring process, project files may be invalid". What do i do then?

    • @TejasIsAmazing
      @TejasIsAmazing 3 ปีที่แล้ว

      Do cmake and glfw need to be the exact version you are using?

    • @TejasIsAmazing
      @TejasIsAmazing 3 ปีที่แล้ว

      Ok nvm, it was cause i apparently forgot to install c++. I m stupid

  • @ProjectCity1
    @ProjectCity1 ปีที่แล้ว +2

    53:11 if you get the error you can change the GL_RGBA to GL_RGB, anymore questions about this problem reply to me.

  • @mariusd6100
    @mariusd6100 2 ปีที่แล้ว +1

    in Visual Studio 2022, where do i find project properties? ( 4:55 ) .

  • @sydk35
    @sydk35 3 ปีที่แล้ว

    I dont think i have seen a single youtube video which has zero disllike ...
    this one has 380K+ views 11K likes no dislikes .. nicee

  • @nofeah89
    @nofeah89 3 ปีที่แล้ว +1

    Wow I just recently got interested in CG programming , this is perfect!

  • @averagecornenjoyer6348
    @averagecornenjoyer6348 3 ปีที่แล้ว +1

    Instead of making a header and a cpp file for classes, you can immediately go and create a c++ class that does that automatically, only is left for you to do is create your function interface. Also, to avoid re-typing the function to define in in the cpp file, you can right-click on the green underlined function declaration in the header, go to quick action and refactorization, and create function definition. I bound a key shortcut for that, you might wanna do that too.
    also for constructor initialization you may also do this:
    class MyClass {
    int a_in_class;
    MyClass(int a_in_constructor)
    : a_in_class(a_in_constructor)
    { /*do something */ }
    };

    • @VerMishelb
      @VerMishelb 3 ปีที่แล้ว

      There is one issue though: when you create class, it is always created in solution root directory which might be annoying if you want to create it in subfolder, like src/Object/Object.h. This can be done by redacting full path but this is more annoying than creating two separate files. Plus practicing these actions never hurts because you might have a different IDE some day.

    • @VictorGordan
      @VictorGordan 3 ปีที่แล้ว

      Yeah, I recently saw this in a tutorial. But tbh I still prefer the manual way. Thx for the tip though! ;)

    • @averagecornenjoyer6348
      @averagecornenjoyer6348 3 ปีที่แล้ว

      @@VerMishelb well, you can just move the newly created class files in the dir you want them in.

  • @CoolDude911
    @CoolDude911 3 ปีที่แล้ว +1

    I had trouble getting the colour to show at the start. I removed the following lines and it worked fine:
    8:36
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

    • @CoolDude911
      @CoolDude911 3 ปีที่แล้ว +1

      17:30 - Last line of the fragment source shader has a new line character at the end. This caused the fragment shader not to work for me (when the fragment shader does not work, the shader will colour everything in white).

    • @MegaXDBrasil
      @MegaXDBrasil 2 ปีที่แล้ว

      For me too

  • @AlexanderV.Eriksen
    @AlexanderV.Eriksen 3 ปีที่แล้ว +3

    I just quickly wanna say I actually showed this to my real friends... 13:45

  • @muyvello4646
    @muyvello4646 2 ปีที่แล้ว +2

    What books you recommend me to learning and improve all this ?, sorry for my english jeje.

  • @MikhailCazi
    @MikhailCazi ปีที่แล้ว

    Soooo, do I have to do all the steps before 6:40 everytime? Or can I just commit the files to a repository and use it as a template?

  • @kewtomrao
    @kewtomrao 3 ปีที่แล้ว +1

    Wow!!! This is pure gold!!

  • @S41L0R
    @S41L0R 3 ปีที่แล้ว +1

    honestly a great video

    • @VictorGordan
      @VictorGordan 3 ปีที่แล้ว +1

      Thank you ^-^

    • @S41L0R
      @S41L0R 3 ปีที่แล้ว +1

      @@VictorGordan (:

  • @d3ac0n626
    @d3ac0n626 2 ปีที่แล้ว

    Thanks man this is really helping me😀

  • @bruce2053
    @bruce2053 3 ปีที่แล้ว +3

    Please make Vulkan crash course also. Very much needed.

  • @nathanosullivan2296
    @nathanosullivan2296 3 ปีที่แล้ว

    I really needed this. Thx!