SFML Tutorial - Install
3:01
3 жыл бұрын
OpenGL Tutorial 30 - Bloom
4:06
3 жыл бұрын
OpenGL Tutorial 27 - Normal Maps
5:06
Q&A - 1024 Subscribers Special
18:51
3 жыл бұрын
OpenGL Tutorial 21 - Instancing
4:56
OpenGL Tutorial 20 - Geometry Shader
5:34
OpenGL Tutorial 14 - Depth Buffer
4:40
Пікірлер
@Letsgoletsroll
@Letsgoletsroll 22 сағат бұрын
Why every opengl tutorial using c++ instead of c? I mean opengl is written in c and that language is really nice so why not?
@viragvarga8055
@viragvarga8055 2 күн бұрын
Hi, I really like your videos, but I'm having some trouble with connecting the fragment shader along the line, because the color of the triangle is white instead of the color I/you set. I don't really know why or how to solve it. It doesn't show any errors and even the compileError function in shaderClass is silent. I only noticed this mistake a video or two later, but when I compared my files to yours, I couldn't find anything that differs. I know it's a long shot, but maybe you have some suggestion, how to find where the data to/from the fragment shader disappears? Otherwise, great videos, they are a lot of help.
@VictorGordan
@VictorGordan 2 күн бұрын
@@viragvarga8055 it’s probably a typo in the fragment shader. It’s a common issue
@viragvarga8055
@viragvarga8055 2 күн бұрын
@@VictorGordan I checked again and used ctrl+c, ctrl+v on the fragment and vertex shader files (to make sure it's identical to yours), and I also checked all the other files as well, but it's still not working, the triangle is still just white. do you have any other ideas, maybe? ( I don't have any error messages or warnings appear either)
@VictorGordan
@VictorGordan 2 күн бұрын
@ then I don’t really know tbh :/ could be some system specific problem
@viragvarga8055
@viragvarga8055 22 сағат бұрын
In case you have a problem like this, make sure you didn't accidentally create a new GLuint ID variable in one of the functions of VBO.cpp, VAO.cpp, EBO.cpp or shaderClass.cpp. Also, glGetError() is a great way to find problems. Thank you for the help anyway, and the exceptionally quick replies. <3
@orionconstellation2
@orionconstellation2 2 күн бұрын
can i open imgui menu in game without glfw?
@VictorGordan
@VictorGordan 2 күн бұрын
@@orionconstellation2 glfw creates the window, so no, without a window you can’t open the UI menu (thought you could create a window with another library such as SDL or SFML)
@orionconstellation2
@orionconstellation2 2 күн бұрын
@@VictorGordan im trying to create a menu for ets2 , im a beginner lol, i dont understand anything im doing haha, its all help of ai, thank you for the reply
@splits8999
@splits8999 4 күн бұрын
wow, this is why linux matters
@VictorGordan
@VictorGordan 3 күн бұрын
To be fair it's mostly a C++ thing rather than an OS problem. C++ just kinda sucks at handling libraries, especially compared to something like python where it's hilariously simple
@splits8999
@splits8999 3 күн бұрын
@VictorGordan true, tho, tbf i dont have any experience with c++ or opengl but im pretty sure on linux itd be as simple as installing the dynamic library packages system wide, #including akd linking in the makefile? What i was complaining about was mainly all the unzipping and manually moving dlls
@white_cloth
@white_cloth 4 күн бұрын
Beautiful algorithm on display here. It’s surprising how accurately (not talking about energy conservation) Blinn-Phong can simulate specular lighting in spite of its simplicity and efficiency.
@Domo22xD
@Domo22xD 4 күн бұрын
Thank you!
@emiliozalva5719
@emiliozalva5719 6 күн бұрын
Very useful. Thank you very much buddy.
@bruthermunbill529
@bruthermunbill529 6 күн бұрын
Great tutorial other than the super fast skipping ahead like at 3:07. The skipping makes it kinda hard to follow along.
@jesseekoh3816
@jesseekoh3816 6 күн бұрын
Hi, I am currently following your tutorial and it's been an interesting one. For some reason I can't get the pyramid to rotate along it's axis even when is set model to glm::translate(model, glm::vec3(0.0f, 0.0f, 0.0f))
@galacticduck6429
@galacticduck6429 8 күн бұрын
Thanks so much! One issue I've just had was that I didn't place the gl_Position at the end of the default.vert's main() function. Its not clear to me why this needs to be at the end? Having this line at another location in the main() function caused my floor to not be displayed.
@CHESShireCat
@CHESShireCat 9 күн бұрын
See this is exactly what I wanted to learn from my professor. But he kind of just dropped us into the deep end with no explanation. Thanks for the tutorials you are the only hope for me to pass this class.
@Tayoky
@Tayoky 9 күн бұрын
how to not open a terminal window ?
@ToxicTrack_
@ToxicTrack_ 9 күн бұрын
My project just has a main, (no WinMain) and to disable console, I just set Linker->System->SubSystem to "Windows (/SUBSYSTEM:WINDOWS)" instead of "Console (/SUBSYSTEM:CONSOLE)" and the console goes away.
@manuelmeekattukulam
@manuelmeekattukulam 11 күн бұрын
Thank you for the amazing tutorial!!!
@manuelmeekattukulam
@manuelmeekattukulam 11 күн бұрын
For anyone who can load the model, but the texture looks messed up. Try this: in default.vert line 42 change the line from texCoord = mat2(0.0, -1.0, 1.0, 0.0) * aTex; to texCoord = mat2(1.0, 0.0, 0.0, -1.0) * aTex; This fixed the model textures for me. I think this is just flipping the texture.
@fft2020
@fft2020 11 күн бұрын
when I was programming BASIC in the 80s I could draw a triangle on screen withe 3 commands, not 1000 like here... but hey... progress
@VictorGordan
@VictorGordan 11 күн бұрын
@@fft2020 if you want to just do simple 2D draw calls in a few lines, then this series is not for you. I recommend you check out SDL and SFML, those might suit your needs better
@fft2020
@fft2020 11 күн бұрын
just the instalation seems a nightmare.... this is where I get off
@Sirbozo
@Sirbozo 14 күн бұрын
help "filepath" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI.
@topraktuncer6974
@topraktuncer6974 7 күн бұрын
i have the sampe problem. Have you found a solution?
@galacticduck6429
@galacticduck6429 15 күн бұрын
One issue I came across, should anyone need it, was I tried to combine "get_file_contents(vertexFile)" with "vertexCode.c_str()", i.e. "const char* vertexSource = read_file_contents(vertexFile).c_str();". This lead to a compilation error of the shaders that I missed for a while. I think the cause was the std::string component going out of scope. So, having these on two separate lines is important!
@GamingForLifeGF
@GamingForLifeGF 17 күн бұрын
2024, VS2022 and still works.
@pookab5905
@pookab5905 17 күн бұрын
its a good video but its well beyond me with all of the coding or scripting.
@SpartanJoe193
@SpartanJoe193 19 күн бұрын
Just adding GGX to Halo 3 with metallic workflow thanks to this video. Apart from a few artifacts it's alright.
@mr.hashundredsofprivatepla3711
@mr.hashundredsofprivatepla3711 12 күн бұрын
How? Are you modding or reverse engineering it?
@SpartanJoe193
@SpartanJoe193 12 күн бұрын
@mr.hashundredsofprivatepla3711 Modding. 343 released the mod tools when MCC was ported to PC. You can compile shaders there.
@Eggnog417
@Eggnog417 20 күн бұрын
Those following in later years, use version 1.82 from the releases tab (page 3 as of posting). Functions change over the years xD
@VictorGordan
@VictorGordan 20 күн бұрын
@@Eggnog417 yeah, I’m starting to see some of my tutorials going out of date. I should have probably also shown the steps I took to find the correct functions instead of just telling you which one to use
@Nufflewuck
@Nufflewuck 24 күн бұрын
The best way to experiment I found was to assign a few keys using earlier methods to the increase and decrease of a & b. Use uniforms in the shader. Good homework task :D
@jawtaro4583
@jawtaro4583 Ай бұрын
*same vibe* 0:06 "first we'll *slightly* modify our camera matrix" some artist: "first we'll add the outline, and then add the details"
@VictorGordan
@VictorGordan Ай бұрын
Hahahaha
@Samit-r3h
@Samit-r3h Ай бұрын
Do I have to use Cmake, I have never really used it before and have only worked with visual studio solutions, so I don't really know how it works, so I'll just continue without cmake for now ig but if you think I should learn it, then I will, please reply
@MalekAli-yg5bt
@MalekAli-yg5bt Ай бұрын
i spent 5 hours just to find out i wrote ./ instead of ../ std::cout << "kill me" << std::endl; edit: these videos are great, thanks;
@VictorGordan
@VictorGordan Ай бұрын
Hahaha it happens, we've all been there :')
@fydamara
@fydamara Ай бұрын
You are a SAVIOR, thank you for this tutorial!
@shadowlordalpha
@shadowlordalpha Ай бұрын
Its been out for quite a while but I think doing Mesh here and Light after would have been the better order to the tutorials. still a good tutorial though
@VictorGordan
@VictorGordan Ай бұрын
@@shadowlordalpha why do you think that? Meshes are more complex than lighting and people tend to drop off as the complexity increases so it's better to have the lower complexity stuff first imo
@shadowlordalpha
@shadowlordalpha Ай бұрын
@VictorGordan it finishes moving the last main rendering part out of the main code so nearly all rendering code is now in its own classes. Changes the way we load the data allowing for the normals to be more easily loaded in after depending on how loading is done Does not require lighting to function in a decent way. People can now load their own models or art which is bigger then you would expect and making it look even better is a nice push. But mainly I just really dislike using hardcoded points and lighting itself is a very complex topic and harder for some people to get
@VictorGordan
@VictorGordan Ай бұрын
@shadowlordalpha fair points. If I do a series like this again I'll consider having the models loaded early on!
@PP-ss3zf
@PP-ss3zf Ай бұрын
Hi Victor, thank you for the video. I have a question about an example I have seen someone do where they have a scene that has multiple light sources, like a TV backlight, a tube light, and a lamp. From this they baked a lightmap, and for each of those three objects the lightmap was red, green and blue in those areas. They later used this lightmap, and mixed the colours using a fragment shader, and they controlled the scene's lighting by passing different values for the r g and b using uniforms. There were three light sources, and thus they used r g and b for each light source. But I'm wondering what happens if someone has more than three light sources. In this example they have one light source corresponding to a r/g/b channel of the lightmap. But I'm wondering what happens if there is a 4th, 5th, multiple light sources.
@VictorGordan
@VictorGordan Ай бұрын
An image is limited to 4 channels max. So u could bake another light into the 4th channel in this example, but after that the only way to add more baked lights to the same lightmap would be to increase the size of the channels from let's say 8bit to 16bit and then use bitshifts to store two object related baked lights per channel, but it's easier to just make another lightmap imo
@PP-ss3zf
@PP-ss3zf Ай бұрын
@@VictorGordan thank you! when you say its easier to make another lightmap - is it still the same principle, just split over multiple textures? i.e., you have to just mix/blend from more than one source
@captainbiddy4942
@captainbiddy4942 Ай бұрын
hands down, to this day one of the best tutorials ive seen. thank you brother and keep up the good work.
@cicada-yd8ho
@cicada-yd8ho Ай бұрын
Hi, I have problem with memory acess violation because of NULL pointer propably in Textures.h and .cpp. Problem is with stbi. Can you please help me?
@poopingnuts
@poopingnuts Ай бұрын
had to play this one at 0.25x speed
@edipedipbulmaz
@edipedipbulmaz Ай бұрын
this is way more unorganized than the previous video. it looks like you created bunch of unneccesary files that are imposibble to control
@edipedipbulmaz
@edipedipbulmaz Ай бұрын
Why did you just jump to linear algebra? we weren't even doing any math previous episode.
@edipedipbulmaz
@edipedipbulmaz Ай бұрын
i hate myself now but hoorray now i can draw a 2d triangle in a 3d domain
@tomasrasimavicius1914
@tomasrasimavicius1914 Ай бұрын
For anyone trying to get this setup to work with SFML 2.6.x, you should get imgui-sfml from the 2.6.x branch and get an older version of imgui (1.90 worked for me).
@XanthumS
@XanthumS Ай бұрын
thank you so much
@sohankaushik7
@sohankaushik7 Ай бұрын
If fps is clamped to 60fps even after setting swapInternal(0). If you got Nvidia then go to Nvidia Control Panel and turn off V Sync
@ayushbhardwas
@ayushbhardwas Ай бұрын
Btw, why are we passing the VBO to the VAO::LinkAttrib function in the first place?
@undeadpresident
@undeadpresident Ай бұрын
I appreciate the tutorial. I wish you would use DSA functions though.
@VictorGordan
@VictorGordan Ай бұрын
@@undeadpresident I think I touch upon them in one of my Modern OpenGL videos. Not 100% sure though
@kuty701
@kuty701 Ай бұрын
thank you!
@l9314
@l9314 Ай бұрын
LOL don't work ... f**k that shiiiiiiii
@zephyros1938
@zephyros1938 Ай бұрын
literally the best tutorial out there thank you
@omarmostafa4173
@omarmostafa4173 Ай бұрын
erorr: cannot open glfw3.lip
@adambelos2157
@adambelos2157 Ай бұрын
BRAH! you saved my whole semester! i was so depresed i was sitting on this shit for 2 weeks did not understand how the fuck i should fucking add camera.. thaaanks bro. you made it look giga ez and fast
@manuelmeekattukulam
@manuelmeekattukulam Ай бұрын
You are hilarious bro!!
@shengfuzhao
@shengfuzhao Ай бұрын
Does it need to glDeleteBuffers() in the end of your code in DSA?
@ProjectGhostfang-qc1ey
@ProjectGhostfang-qc1ey Ай бұрын
For you vs code users make a file called task and make it a .json and put (The code i gave you) inside of it and build and it should work perfectly now { "version": "2.0.0", "tasks": [ { "type": "shell", "label": "Build OpenGL Project", "command": "C:/ProgramData/mingw64/mingw64/bin/g++.exe", "args": [ "-g", "-std=c++17", "-I${workspaceFolder}/include", "-L${workspaceFolder}/lib", "${workspaceFolder}/src/main.cpp", "${workspaceFolder}/src/glad.c", "-lglfw3dll", "-lopengl32", "-o", "${workspaceFolder}/YourProjectName.exe" ], "options": { "cwd": "${workspaceFolder}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "compiler: C:/ProgramData/mingw64/mingw64/bin/g++.exe" } ] }
@Roufoxx
@Roufoxx 2 ай бұрын
Hey Victor! Thanks for these amazing tutorials. It's crazy the ressources you can find for free on the internet. Anyways, i'm thanking you here for these tutorial as I am stopping here. It's quite too complicated and fast paced for me. I also find it quite difficult to grasp onto the subjects that are talked in these tutorials. And, the more I follow them, the more complex it gets and, when having trouble on the earlier subjects, it becomes impossible to move onto the new subjects. OpenGL is definetly interesting and I am going to continue learning it, only i'm going to do it on my own, at my pace. Anyways, thanks for the content :)
@nikitaegle5533
@nikitaegle5533 2 ай бұрын
I rewrote the code 5 times, but I have a small piece of texture illuminated, but not the main one, but the specular, and everything else is completely black,what am I doing wrong?