
OpenGL Course - Create 3D and 2D Graphics With C++
video description
Date: 2022-03-14
Related videos
Comments and reviews: 10
The
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)
reply
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)
reply
Fatee
I like to try to code side by side with tutorials so i can easier keep in track and focus better. The biggest problem and maybe the -only- problem with this tutorial is that 99% of the code stuff is speedran so it's very hard to understand what's going on. I feel like this is done only to make the tutorial shorter and make it look like oh, it's a course under 2 hours but in reality it's probably 3-4x the size :/ I don't want to keep checking git to make sure i wrote the same thing but i want it all to be there for me in the tutorial. Now other than that alot of the information given is very very good and the quality in general of the tutorial is very high quality. But the whole speedrun tactic is very very bad, in my opinion..
reply
I like to try to code side by side with tutorials so i can easier keep in track and focus better. The biggest problem and maybe the -only- problem with this tutorial is that 99% of the code stuff is speedran so it's very hard to understand what's going on. I feel like this is done only to make the tutorial shorter and make it look like oh, it's a course under 2 hours but in reality it's probably 3-4x the size :/ I don't want to keep checking git to make sure i wrote the same thing but i want it all to be there for me in the tutorial. Now other than that alot of the information given is very very good and the quality in general of the tutorial is very high quality. But the whole speedrun tactic is very very bad, in my opinion..
reply
Jonathan
I can't memorize any of this. It would have helped, if there were more explanations on what a given library or function does. Making a -plan of action- at the beginning of each section would have also been helpful: explain the problem; give basic idea of what steps we take to solve it; more in-depth explanation on how the computer views it; code implementation. Right now I am forced to search up what each function does and why possibly we should use it. This has tormented me to the point, where I'm questioning, if there aren't better tutorials and if I'm wasting my time pausing the video every 3 seconds to look up what you're doing.
reply
I can't memorize any of this. It would have helped, if there were more explanations on what a given library or function does. Making a -plan of action- at the beginning of each section would have also been helpful: explain the problem; give basic idea of what steps we take to solve it; more in-depth explanation on how the computer views it; code implementation. Right now I am forced to search up what each function does and why possibly we should use it. This has tormented me to the point, where I'm questioning, if there aren't better tutorials and if I'm wasting my time pausing the video every 3 seconds to look up what you're doing.
reply
Ruben
17:20 - if anyone is interested, here is the code he pasted.-
(if you have the laziness to go through GitHub).
// Vertex Shader source code-
const char- vertexShaderSource = -#version 330 core\n--
-layout (location = 0) in vec3 aPos;\n--
-void main()\n--
--\n--
- gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0);\n--
--\0-;-
//Fragment Shader source code-
const char- fragmentShaderSource = -#version 330 core\n--
-out vec4 FragColor;\n--
-void main()\n--
--\n--
- FragColor = vec4(0.8f, 0.3f, 0.02f, 1.0f);\n--
--\n\0-;
reply
17:20 - if anyone is interested, here is the code he pasted.-
(if you have the laziness to go through GitHub).
// Vertex Shader source code-
const char- vertexShaderSource = -#version 330 core\n--
-layout (location = 0) in vec3 aPos;\n--
-void main()\n--
--\n--
- gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0);\n--
--\0-;-
//Fragment Shader source code-
const char- fragmentShaderSource = -#version 330 core\n--
-out vec4 FragColor;\n--
-void main()\n--
--\n--
- FragColor = vec4(0.8f, 0.3f, 0.02f, 1.0f);\n--
--\n\0-;
reply
floppster
Hello, nice tutorial for starters, but you should really work a bit harder on the c++ part to not educate people to use wrong habits such as searching vectors of strings using for instead of std::find, or instead of reinterpret_cast to memcpy an array of bytes to a float.
reply
Hello, nice tutorial for starters, but you should really work a bit harder on the c++ part to not educate people to use wrong habits such as searching vectors of strings using for instead of std::find, or instead of reinterpret_cast to memcpy an array of bytes to a float.
reply
Chirayush
My code for the camera section is almost word for word same as the code shown in the video. Yet
1) the texture isn't loading
2) I cant move around the pyramid by pressing the wasd keys. I have printed the key pressed and that works.
How to debug openGL codes
reply
My code for the camera section is almost word for word same as the code shown in the video. Yet
1) the texture isn't loading
2) I cant move around the pyramid by pressing the wasd keys. I have printed the key pressed and that works.
How to debug openGL codes
reply
Gamingturtle
my suncube got created at the center. i have no clue why as the sun is in the right position but there is a pyramide collored,untextured cube in the center of my pyramid instead of a suncollored cube on the other side.
reply
my suncube got created at the center. i have no clue why as the sun is in the right position but there is a pyramide collored,untextured cube in the center of my pyramid instead of a suncollored cube on the other side.
reply
Ayomide
Hello. Great video so far, just that I have a problem. I've followed the steps so far but it's the error message we create that's being outputted (-Failed to create GLFW window-). I don't know why. Please help out
reply
Hello. Great video so far, just that I have a problem. I've followed the steps so far but it's the error message we create that's being outputted (-Failed to create GLFW window-). I don't know why. Please help out
reply
donkee
not sure if anybody else encountered this problem but I had to (manually) include three additional library directories in order to run/debug the program; those were opengl32.lib, ucrtd.lib, and msvcrtd.lib
reply
not sure if anybody else encountered this problem but I had to (manually) include three additional library directories in order to run/debug the program; those were opengl32.lib, ucrtd.lib, and msvcrtd.lib
reply
Several
-Step 1: start your project by installing 5 different libraries and rewriting the source code of windows-
This is why i keep on giving up on C++. Well, guess I'm gonna have to do it anyway.
reply
-Step 1: start your project by installing 5 different libraries and rewriting the source code of windows-
This is why i keep on giving up on C++. Well, guess I'm gonna have to do it anyway.
reply
Add a review, comment
Other channel videos















