Пікірлер
@zdspider6778
@zdspider6778 11 күн бұрын
0:17 I wouldn't say OpenGL is easy to use. Especially not VERY easy to use. 🤭 If you're a new programmer it's actually quite daunting. It's still a mountain of work. And Vulkan is like 10 mountains. If you're a beginner, you're more likely to give up when trying to climb 10 mountains instead of one. Before you even get a single thing rendered on the screen. Vulkan takes like a week of studying to render a single triangle (if you're already experienced with OpenGL). While in OpenGL it takes like a day (if you're already experienced with SFML, SDL). Older OpenGL versions (e.g. 1.2) took an afternoon to set up (if you weren't experienced at all). And OpenGL is NOT "high level". 🤨 Higher level than Vulkan, sure, but that's kind of like comparing Python with C++. High level would be SFML, which has OpenGL as a backend.
@michaczajka5873
@michaczajka5873 5 ай бұрын
Quick peeks to documentation gives this video a filling like it is a welding video.
@TheEngineeringMonkey
@TheEngineeringMonkey 5 ай бұрын
Omg dwm!!
@samuelalonso-j9h
@samuelalonso-j9h 5 ай бұрын
I find this video misleading, i mean, sure, if you only use Vulkan like it runs only in a single-threaded application it could be considered easy, but then you're not getting the max. perf. out of it, dive deep into multi-threaded FBOs to achieve more CPU usage thru the use of multiple threads to keep submitting things to the command buffers, and synchronizing barriers to access the resources just in time when it''s needed, etc...
@lolzdev
@lolzdev 5 ай бұрын
I know vulkan was designed with safe multithreading in mind to make the most of modern hardware, being at such a low level possibilities of optimization and performance squeezing is almost infinite, but this was meant to be an introductory 9 minutes video lol
@BrunoidGames
@BrunoidGames 6 ай бұрын
Amazing intro to Vulkan. Subscribed!
@d.g.m.04
@d.g.m.04 6 ай бұрын
When I watch a video where the guy tells me that OpenGL is high level, I know I'm in the right place.
@tanveerasif5978
@tanveerasif5978 7 ай бұрын
Bro, you're the running with speed of flash, I am not able to catch even with the speed 0.25X. 😅 May be sharing your code can help me if possible.
@ixyops
@ixyops 7 ай бұрын
Bro is copying JDH BIG TIME. NeoVim, even the same music playing
@deleted_handle
@deleted_handle 9 ай бұрын
3:35 wtf my eyes
@__username1
@__username1 9 ай бұрын
The hardest part of vulkan for me is that I never know what to do next because there isn't a single comprehensive and rigorous explanation of vulkan's structure that I've ever seen. Every tutorial either expects you to know stuff already or to follow alonv and ask less questions
@Volian0
@Volian0 Жыл бұрын
I would use vulkan, but sadly... not every old GPU supports it, older android phones don't support it, and that's why I'm using OpenGL ES, it's simple and has everything I need. Maybe I lose performance, but so what? I'm making a simple game, not a cyberpunk sequel
@Siissioe123
@Siissioe123 Жыл бұрын
I hear an italian accent?
@lolzdev
@lolzdev 5 ай бұрын
you do ;)
@Siissioe123
@Siissioe123 5 ай бұрын
@@lolzdev I always recognize my country’s accent
@enriquedelacal2814
@enriquedelacal2814 Жыл бұрын
Why do you mischaracterize opengl like that
@willtheoct
@willtheoct Жыл бұрын
for the love of unix, DO NOT FOLLOW VULKAN-TUTORIAL. It is completely bloated and unhelpful. I'm sorry you fell for the scam website, but you can learn from this - 95% of what you read online about programming is BS, the other 5% matters a lot. vulkan-tutorial is clearly part of the 95%. With regl, you can render a triangle in 1-10 lines of code. This unfortunate video shows maybe 100 lines of code to get a triangle rendered, but it is the most basic thing you can do in opengl. Vulkan just allows for computations without rendering to a texture, which has performance losses and your data can only be written to 3-4 color channels which is a pain to code. Vulkan is useful, but pages of logging/error checks/"validation layers" is not.
@athrixxs
@athrixxs Жыл бұрын
jdh ahh
@Caellyan
@Caellyan Жыл бұрын
I love how CMake is 1/8 of the video. Very realistic 🤣🤣🤣
@willtheoct
@willtheoct Жыл бұрын
well he didn't do very much so...
@mrdiabeatis9943
@mrdiabeatis9943 Жыл бұрын
Jdh?
@zonn8954
@zonn8954 Жыл бұрын
Hey ! Good video thanks What's your configuration ? I mean what distro, desktop environment and overall : what window manager ?
@Nodal488
@Nodal488 Жыл бұрын
His window manager is DWM, for the rest I couldn’t tell 🙂
@lolzdev
@lolzdev 5 ай бұрын
I'm using Arch with dwm as window manager
@AkimboFennec
@AkimboFennec Жыл бұрын
1000 lines of code to just draw a triangle. Go to hell😂😂.
@chakibchemso
@chakibchemso Жыл бұрын
noice vid
@daniking7524
@daniking7524 Жыл бұрын
Now a wgpu tutorial pls
@melficexd
@melficexd Жыл бұрын
Vulkan isn't complex, is elemental, thus people can't get it that easy. The advantage is that it allows for many explicit things that otherwise get overlooked, such as the parallelism GPU-CPU, in fact, if you can get that right, you have half of the victory with Vulkan. Amortize the rendering time with further processing. The other half is taking advantage of GPU parallelism, which Vulkan eases quite a bit too
@discretemathematicso
@discretemathematicso Жыл бұрын
Vulkan is overkill unless your a big game company and making games with lost of eye candy, i dont know what you were trying to show with all that code, too quick to follow and furthermore nothing learned
@lanchanoinguyen2914
@lanchanoinguyen2914 4 ай бұрын
game industry prefers directx12 not vulkan so i see no reason for vulkan rats to bash opengl.
@VmsCentral
@VmsCentral 2 жыл бұрын
If the author does not mind - source that was shown in the video can be took from GitHub gist 0ae55199763301db7d8e5b8a1716d91b
@lolzdev
@lolzdev 2 жыл бұрын
wow, this is impressive! ofc I don't mind, this is a nice thing since I don't even have the code base anymore
@dreastonbikrain1896
@dreastonbikrain1896 2 жыл бұрын
Is graphics programming your job? Or is it more a hobby?
@lolzdev
@lolzdev 2 жыл бұрын
definitely an hobby, I'm in high school
@naninoni7086
@naninoni7086 2 жыл бұрын
Literally a JDH video…
@SanoKei
@SanoKei 2 жыл бұрын
what program is the drawing thing with the grid?
@lolzdev
@lolzdev 2 жыл бұрын
it's xournal++
@jizosgoescrazy
@jizosgoescrazy 2 жыл бұрын
hey! what IDE is this?
@lolzdev
@lolzdev 2 жыл бұрын
it's not an ide, I'm using a text editor and it's just vim
@joelm2858
@joelm2858 2 жыл бұрын
0:26 - How are you writing your letters? jesus 😂
@TFSned
@TFSned 2 жыл бұрын
Thanks for making this video. It's good to document some of the common issues you can have writing a Vulkan application from scratch. A problem I had was that my application was selecting the wrong GPU which didn't support the feature I was using. That's because the laptop had an integrated and discrete GPU, but the integrated GPU was given the index 0 and was being selected by default. Filtering the devices by supported features is a great solution.
@godnyx117
@godnyx117 Жыл бұрын
This may save me ass in the future! Thank you so much for sharing!
@inertia_dagger
@inertia_dagger Жыл бұрын
doom eternal of all games had the same problem for my friend, I don't know why
@baileyharrison1030
@baileyharrison1030 8 ай бұрын
It's probably fine to allow the user to select which GPU to use and check for compatibility with just that. If initialisation fails just ask the user to select another GPU from the list of physical devices. Otherwise it can get extremely complicated when you've got required extensions, optional extensions, required features, optional features, and the same for required and optional texture formats. Your program may succeed using the inferior GPU as it satisfies the required features but not the optional ones.
@sustachio2246
@sustachio2246 2 жыл бұрын
Great video! What vim theme are you using? I am looking for a good one right now
@lolzdev
@lolzdev 2 жыл бұрын
it's called gruvbox
@sannfdev
@sannfdev 2 жыл бұрын
Walmart jdh
@emirbrkic6649
@emirbrkic6649 2 жыл бұрын
Daje fra, fai sentire la presenza italiana in questa community
@Lukas-qy2on
@Lukas-qy2on 2 жыл бұрын
feels like an intimidating amount of "boilerplate" but it feels like there is logic underlying it.
@willtheoct
@willtheoct Жыл бұрын
"feels like" isn't "has". You can code in vulkan without the bloat and error logging, and if you need a triangle rendered, use regl to do it in a couple of lines.
@_erayerdin
@_erayerdin 2 жыл бұрын
Good video. I wonder, what program are you using to animate in the beginning?
@lolzdev
@lolzdev 2 жыл бұрын
I'm using Xournal++, drawing with the graphics tablet and recording me drawing
@_erayerdin
@_erayerdin 2 жыл бұрын
@@lolzdev Thank you so much.
@leolamarra
@leolamarra 2 жыл бұрын
Per caso segui jdh? lo stile mi sembra molto simile, e mi piace molto. Complimenti per il video!
@lolzdev
@lolzdev 2 жыл бұрын
sì lo seguo, come avrai notato nei commenti molte persone si sono accanite avendo notato questa somiglianza anche se come ho già spiegato semplicemente usiamo gli stessi tool e ciò fa sembrare il video simile ma l'esposizione è diversa. Comunque grazie :)
@joshuaheathcote2116
@joshuaheathcote2116 2 жыл бұрын
How the hell do you use vim like that! You're like the VIM professional!
@birdbeakbeardneck3617
@birdbeakbeardneck3617 2 жыл бұрын
are u jdh?
@XkelloggmanX
@XkelloggmanX 2 жыл бұрын
Holy seizures Batman!
@noxagonal
@noxagonal 2 жыл бұрын
I've been doodling with Vulkan for a while now. I'd say it's difficult but still very logical. The most difficult thing so far has been the memory management. You must create your own memory pool as there's a hard limit of how many memory allocations you're allowed from the GPU driver and it's usually capped at 4000 allocations. All data sent to the GPU requires memory so you must allocate a chunk at a time. Further, there are different types of memory you can allocate, Eg. VRAM, RAM, RAM which is shared with the GPU, VRAM which is accessible to the CPU... Not all systems have all types of memory so you need to check this at runtime. Different memory types can all have widely different alignment requirements, which also varies from system to system. There's also different memory usage cases, generally linear and optimized, where optimized is used for your usual textures with mip mapping and linear with everything else, including non-optimized texture types and buffers. There are also restrictions for what resources can be created on which memory type and which memory types perform best for each usage case, eg. Optimal textures can only be on the VRAM, vertex buffer may be uploaded to VRAM each frame or if the CPU can access the VRAM it may be faster to write it directly. Lot of options here... Good thing is that it's still very logical, it just requires some learning, and there are multiple Vulkan memory pools/managers on github that will work just fine.
@noxabellus
@noxabellus 2 жыл бұрын
jesus christ that sounds like a nightmare
@noxagonal
@noxagonal 2 жыл бұрын
@@noxabellus Hehe. It's not a nightmare if you like solving problems. XD It's low level and pretty much exactly what the developers wanted, if you don't want to deal with its nuances, there are other libraries that build on top of Vulkan. But yeah, it'll take at least a couple of days to create your own memory pool that works properly with Vulkan.
@abdullahmertozdemir9437
@abdullahmertozdemir9437 2 жыл бұрын
@@noxagonal like vulkan abstractions?
@noxagonal
@noxagonal 2 жыл бұрын
@@abdullahmertozdemir9437 Not sure where my comment disappeared... But yeah, there's plenty from simple helpers to complete game engines.
@melficexd
@melficexd Жыл бұрын
Three words: Vulkan Memory Allocator. If you don't want to mess with the memory, use the VMA. And that will be it. It will handle memory for you just right.
@lLenn2
@lLenn2 2 жыл бұрын
"OpenGL is high-level" lmao 🤣😂🤣😂🤣😂🤣😂🤣😂
@lanchanoinguyen2914
@lanchanoinguyen2914 4 ай бұрын
it's middle level not high level,the dude was wrong.
@RealHubertCZGameplayLetsPlay
@RealHubertCZGameplayLetsPlay 2 жыл бұрын
Google algorithm has chosen you. It recommended me your video 3 times until i clicked.
@x1expert1x
@x1expert1x 2 жыл бұрын
what the hell is wrong with youtubes user interface, its flickering and sh*t
@rokoblox
@rokoblox 2 жыл бұрын
Man the worst thing i hate about coding something is getting graphics running especially if i want something simple such as some physics test or whatever Neither of these 2 APIs is easy 💀
@Caellyan
@Caellyan Жыл бұрын
You can just use an existing engine then. Godot is pretty good (in C++ land) and you can learn to use VK/GL through modifying it if you need to do it.
@rokoblox
@rokoblox Жыл бұрын
@@Caellyan I usually want to run those experiments on bare bones for maximum optimization by only having what I need.
@la694
@la694 2 жыл бұрын
omg its jdhs long lost brother
@Chu4hun
@Chu4hun 2 жыл бұрын
coding time lapse is wery flashy
@rem_0
@rem_0 2 жыл бұрын
With this switching frequency you need to paste some epilepsy warning at the beginning :D
@kvbc5425
@kvbc5425 2 жыл бұрын
my brother, i ain't writing 10k lines for a triangle 💀
@gabrielmessier
@gabrielmessier 2 жыл бұрын
you gotta admit, it's a cool looking triangle, though.
@sklonowanykiedymamuta3305
@sklonowanykiedymamuta3305 Жыл бұрын
I was able to do this with 500 lines of code
@willtheoct
@willtheoct Жыл бұрын
@@gabrielmessier I've seen better triangles from first time GL programmers. He only needs 10k lines of code for psychological satisfaction
@921Ether
@921Ether 10 ай бұрын
nah dont worry you just need a thousand lines of boilerplate for that 💀
@999a0s
@999a0s Ай бұрын
then include raylib and call DrawTriangle() lol.
@remuswt1035
@remuswt1035 2 жыл бұрын
jdh wanna be
@lija-everything
@lija-everything 2 жыл бұрын
jdh sounds kinda strange in this one did he catch a cold or smth