Skip to main content
62 votes
Accepted

DirectX / OpenGL(Vulkan) concepts mapping chart

I haven't been able to find such a chart on the web, so I made one here. (Everyone, feel free to add, elaborate, or correct any mistakes. Some of these are just best guesses based on a partial ...
Nathan Reed's user avatar
51 votes

Should new graphics programmers be learning Vulkan instead of OpenGL?

If you're getting started now, and you want to do GPU work (as opposed to always using a game engine such as Unity), you should definitely start by learning Vulkan. Maybe you should learn GL later too,...
Dan Hulme's user avatar
  • 6,810
41 votes

Should new graphics programmers be learning Vulkan instead of OpenGL?

Learning graphics programming is about more than just learning APIs. It's about learning how graphics works. Vertex transformations, lighting models, shadow techniques, texture mapping, deferred ...
Nicol Bolas's user avatar
  • 9,792
39 votes
Accepted

Should new graphics programmers be learning Vulkan instead of OpenGL?

Hardly! This seems a lot like asking "Should new programmers learn C++ instead of C," or "Should new artists be learning digital painting instead of physical painting." Especially because it's NOT ...
mHurley's user avatar
  • 584
37 votes

DirectX / OpenGL(Vulkan) concepts mapping chart

Here's a non-exhaustive list of Vulkan and DirectX 12. This is cobbled together using criteria similar to that of Nathan's. Overall both APIs are surprisingly similar. Things like shader stages ...
Hai Nguyen's user avatar
25 votes

Why can't we have hardware-specific graphics APIs?

Wouldn't it be better if each GPU vendor provided their own graphics API? ... no. First, the GPU doesn't belong to you. It belongs to the platform, the OS. In order for different programs to ...
Nicol Bolas's user avatar
  • 9,792
14 votes

Why can't we have hardware-specific graphics APIs?

In the early years of the PC, it was common for every game (and other piece of software that needed them) to ship with its own set of sound and graphics drivers. This had a number of drawbacks: Every ...
IMSoP's user avatar
  • 241
8 votes

Should new graphics programmers be learning Vulkan instead of OpenGL?

The primary appeal of OpenGL (at least to me) is that it works on many platforms. Currently, Vulkan does not work on OSX, and Apple has a competing API called Metal. It's very possible that it will be ...
Gavin Higham's user avatar
6 votes

Should new graphics programmers be learning Vulkan instead of OpenGL?

I would like to give you my graphics beginner perspective on the subject. What I realised (in many years working as an engineer in another field) is that the fundamental concepts are the most ...
ingframin's user avatar
  • 161
4 votes

Why can't we have hardware-specific graphics APIs?

Featureful Versus Widely Available You're talking about the economics proposition of high functionality for limited subsets versus having a program (game, image processing, video processing) be widely ...
C Teegarden's user avatar
4 votes

Why can't we have hardware-specific graphics APIs?

I think the best example of a hardware-specific graphics API was Glide, by 3dfx. It was fairly common in the late 1990's. If you owned one of their Voodoo Graphics cards, it was consistently the ...
Neil F's user avatar
  • 41
4 votes

Which graphics APIs texture formats are HDR texture formats?

Also consider these alternatives for reducing bandwidth in comparison to R16G16B16A16. DXGI_FORMAT_BC6H_UF16 is block compressed fp16 (half) RGB. https://docs.microsoft.com/en-us/windows/desktop/...
Calvin's user avatar
  • 506
4 votes

Should new graphics programmers be learning Vulkan instead of OpenGL?

It depends on what you want to do. If you want to learn graphics programming only for yourself, it really doesn't matter what you choose. If you are thinking about professional work I recommend ...
Derag's user avatar
  • 596
3 votes

Should new graphics programmers be learning Vulkan instead of OpenGL?

I've been "getting in to" graphics programming for a few months now. Right now I'm still in High School, and I can tell you I am almost always looking to develop cross platform applications. This is ...
parabolah's user avatar
3 votes
Accepted

Which graphics APIs texture formats are HDR texture formats?

In general, using floating point textures will help preserve HDR values. They can be 16-bit or 32-bit floats for the color channels, usually. In OpenGL you could choose the type to be ...
user1118321's user avatar
  • 3,411
2 votes

Why can't we have hardware-specific graphics APIs?

A good deal of software is only available for a single platform (e.g., Android, iOS, Windows or Mac). The current situation means that authors of single-platform software only need to program for a ...
John Dallman's user avatar
2 votes

Why can't we have hardware-specific graphics APIs?

I think a summary of other answers is: you would end up with current situation. On top of vendor-specific API you would implement some abstraction layer, which in the long run, with typical forces, ...
Pablo H's user avatar
  • 121
2 votes
Accepted

How can I control memory for command allocators and command queues in D3D12?

You don't. These objects typically work with CPU memory, not device memory. And to the extent that they involve device memory, such allocations tend to be rare and/or fixed in size (a queue may have ...
Nicol Bolas's user avatar
  • 9,792
1 vote
Accepted

Unexpected INVALID_OPERATION on glClearNamedBufferData

Buffer clears are defined as a form of pixel transfer operation. Essentially, you are specifying data as if you were specifying packed pixel data to be copied. So you must specify the pixel transfer ...
Nicol Bolas's user avatar
  • 9,792
1 vote
Accepted

API or Tools to query state of graphics during gameplay?

What I mean by “state of graphics” is, how polygons, textures, lighting and any other scene elements are stored and computed for any particular frame. The closest to what you are asking and that I ...
wychmaster's user avatar
  • 1,251
1 vote
Accepted

Older Api documentation

Older Opengl Api documentation can be found at this Official Khronos Registry
srt111's user avatar
  • 121
1 vote
Accepted

Why do vulkan extensions need to be enabled?

Extensions can change the visible behavior of the implementation, not to mention the implementation of it. Consider KHR_external_semaphore and its various sub-extensions. If you don't specify them, ...
Nicol Bolas's user avatar
  • 9,792
1 vote

Should new graphics programmers be learning Vulkan instead of OpenGL?

For the foreseeable future, there will be three primary platforms. OpenGL Vulcan Metal OpenGL has a number of advantages in terms of more examples available, more broadly support (even Apple still ...
James Risner's user avatar
1 vote

Should new graphics programmers be learning Vulkan instead of OpenGL?

I'm self taught in C++ without any formal education and throughout the past 15 years I've learned both OpenGL 1.0 up through Modern OpenGL and DirectX 9c, 10 and 11. I have not gotten into DirectX 12 ...
Francis Cugler's user avatar
1 vote

How many Direct/Compute/Copy Queues are meaningful?

Ship your application with a benchmarking sequence testing the actual platform. (Possible answer for many questions I guess...) I suspect the performance is highly dependent on how you use the ...
Andreas's user avatar
  • 359

Only top scored, non community-wiki answers of a minimum length are eligible