News for hackers. Stuff that matters.
Re:New Vulkan Documentation Website by flohofwoe on Wednesday October 11, 2023 @10:54AM (#37845230)
The big advantage of not using OpenGL is that D3D11, D3D12 and Metal all have excellent validation layers which tell you exactly what's wrong when you mess something up. In OpenGL you're pretty much left alone, staring at that black screen.

Xcode and Visual Studio also have builtin graphics debuggers for Metal and D3D11 (not sure if the VS debugger also supports D3D12 though).

Re:New Vulkan Documentation Website by reactordev on Wednesday October 11, 2023 @11:16AM (#37845556)
Because you forget to call glGetError and do the error check on your previous call. In a world where we are driven by exceptions, not excepting and requiring you to check is actually a good thing, you wouldn’t want a shader Parma exception from panicking your game in the middle of a gun fight.
Re:New Vulkan Documentation Website by flohofwoe on Wednesday October 11, 2023 @01:39PM (#37847673)
glGetError() is useless unfortunately for getting any information about what went wrong, because it only has 8 error codes:

https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetE...

There's a debug output extension (or core feature since 4.3) that's slightly more verbose, but not universally supported (e.g. AFAIK not on macOS).

Re:New Vulkan Documentation Website by CyborgCabbage on Wednesday October 11, 2023 @12:30PM (#37846596)
Re:New Vulkan Documentation Website by pjmlp on Wednesday October 11, 2023 @12:59PM (#37847049)
Using those debuggers is like doing CPU debugging.

If at least you had posted a link to RenderDoc.

Re:New Vulkan Documentation Website by flohofwoe on Wednesday October 11, 2023 @01:41PM (#37847705)
It's better than glGetError() for sure, but not supported everywhere (e.g. macOS is stuck at 4.1 Core Profile).
Re:New Vulkan Documentation Website by whstl on Thursday October 12, 2023 @09:15AM (#37856734)
That's a fantastic point. As much as I managed to do stuff in OpenGL for decades, it was definitely left behind DX and Metal in terms of API ergonomics.