4 ms·
> I understand that Vulkan is very, very niche but as someone who doesn't know much more than the basics of maybe setting up an OpenGL window to draw anything,
by robbies 10y ago
> I understand that Vulkan is very, very niche but as someone who doesn't know much more than the basics of maybe setting up an OpenGL window to draw anything, the "drawing a triangle part" just seems insane!
Every time a Vulkan/DX12 post is shared, this sort of comment is written. Modern GPUs are complex. They have a lot of knobs to turn. OpenGL has a lot of these same knobs, except they are implicitly turned for you in the most basic cases. But your average rendering code is nothing like the most basic OpenGL case, and involves much more knob turning.
You'll be fine. If you want to learn about how your modern GPU works, this will suit you. If not, no worries, you still have game engines.
- nothis 10y agoMaybe that's old-fashioned but I'm just not a big fan of the "just use Unity" argument. Game engines tend to be horribly bloated, it's in their nature. Plus you're now dependent on a costly, proprietary black-box for the lifetime of the game, good luck if a screw is loose between the layers. I guess the answer is that there is now a greater purpose than ever for in-between graphics libraries if all you want to do is draw a few triangles with a texture. They say they continue to support OpenGL in parallel, but considering that Vulkan was originally called "GLNext", I have my doubts about how long they want to continue to do that. It's just that I haven't come across such a wall of code in a "beginner's guide" tutorial in quite a while. Feels a bit like they are moving to target big-budget engines exclusively, now. I see that this is in the nature of modern graphics hardware, but still.
- robbies 10y agoWell, what are you trying to do (from a beginner's perspective)? Are you trying to quickly understand how to draw a triangle to a screen with a texture? I would say...write a quick software rasterizer. Are you trying to understand how modern GPUs work, and how to use them? Use Vulkan/DX12/Metal. Are you just trying to draw a ball on the screen and kick it around? Use a game engine. At this point, OpenGL doesn't really fit any of those boxes. What it does kinda do is...conceptually show you how 3D rendering works, but does it faster than your first software rasterizer would, and abstracts a bit of the math away if you use the API in just the right way. The most important aspect of OpenGL is that it has a huge legacy catalog of software, including courses that teach 3D graphics programming with OpenGL. > They say they continue to support OpenGL in parallel, but considering that Vulkan was originally called "GLNext", I have my doubts about how long they want to continue to do that. Meh, they've been using "GLNext" in internal presentations forever. "Vulkan" as you know is basically AMD's Mantle more than an evolution to OpenGL. And don't you fret about OpenGL: lots of workstation apps still use it with no intent of changing, so...it'll stick around.
- douche 10y agoI suspect that you'll be able continue to use the tried-and-true methods, far, far into the future. OpenGL and DirectX11 aren't going anywhere anytime soon, and there are still games coming out with DX9 minimum specs. Last time I checked you can even use mid-90s OpenGL immediate mode calls. At the very least, there will continue to be support for all of the thousands and thousands of legacy games, one way or another.
- greggman 10y agoI look at Unity as a Camera. 100 years ago you needed to build your own camera if you wanted to shoot a movie. Now, almost no directors build their own cameras except for special needs (filming underwater for example). So, do you want to make cameras or do you want to make movies? Translating to games. Do you want to make game engines or do you want to make games? Like the camera example, if you have some special needs maybe you want to make the game engine but for most games, like most movies, just using an off the shelf game engine will be good enough. I agree with you GL is dead. There might be one more version of GL but after that there will be zero pressure to update it because all the top graphics people will be vulkan/metal/dx12 only