RenderingPipeline

from geometry to pixels

Poll Results: Learning a new graphics API

A couple of days ago I started an online poll asking about which new graphics APIs people want to learn next and how they believe what resources should support this task. So far 130 answers were collected and I’d like to thank everyone who took some time to give me feedback. The Google Form is still online in case you want to participate and if enough new answers roll in, I’ll update this results page as well.

Here, I want to share some of the results.

What do they know already?

  • A bit over 10% of the participants did not have any prior knowledge of any graphics/compute API
  • On the other hand, have 4% already worked with Vulkan (which means that those are professionals and most likely working for a Khronos member)
  • 75% know modern OpenGL 3, 64% OpenGL 2, 44% OpenGL ES
  • Only 37% have worked with DirectX up till version 11, 8% already with DirectX 12

So there is a bias towards professionals working with cross-platform APIs.

What do they want to learn?

  • 88% Vulkan
  • 39% DirectX 12
  • 29% Apple Metal
  • 8% AMD Mantle
  • + 7% one of the APIs above, but they don’t care which
  • Eliminating duplicates this totales to 97% of the participants who have an interest in this new generation of APIs!
  • 38% are interested in learning any compute API
  • 22% modern OpenGL
  • OpenGL ES, WebGL and DirectX <12 are at about 11% each

Why do they want to learn it?

  • For hobby projects: 81%
  • For games: 58%
  • Need it for the job: 50%
  • Out of curiosity: 48%

How would they prefer to lern the API?

  • People don’t like classes, 38% would even ignore them! Somehow the widest established instruments of public education (classes, homework etc) are the ones nobody likes. I’m not sure if this is due to years of school with bad experiences with boring topics and unmotivated teachers or if it is this bad independent on all of this. This might be a topic for another day.
  • Specifications and API references are important, ignored by no-one but also not enough for 92%.
  • Written online tutorials are the clear winner – 96% would use them and 74% would prefer them or even use them exclusively.
  • While 97% might use a book, 20% of those see them as a last resort and only 42% would like to use them.
  • Video tutorials are a good addition but can’t replace a written text. 14% would ignore them completely 25% would only look at them if there is no alternative.
  • There are even fever fans of live coding events – only 19% like them, most would ignore them if there are alternatives (61%).

So it seems that written text is still king, even in this age of cheap to produce multi-media. But it should be accessible online and not on a dead tree! Random access, good search-ability and learning in ones own pace might be the main reasons here. Everything else can be seen as additions but not as alternatives.

Whether to provide minimalistic examples or one big project that shows more realistic and complex use-cases is an interesting question with no clear winner. You will find as many people preferring the one kind of tutorials over the other.

What OS would you use (multiple answers were possible)?

  • Windows: 72%
  • Linux: 66%
  • MacOS X: 26%

It’s quite important that the examples run on the machines the people like to use, so targeting Windows still is a save way to go but a surprisingly high number of people would also be OK with Linux – quite a lot of dual boot setups I guess!

In case this motivates anyone of you to write some nice tutorials, please leave a note in the comments!

, , , , , , ,

3 thoughts on “Poll Results: Learning a new graphics API
  • Iván says:

    Just two (maybe silly) comments about the “Written text tutorial” point:
    -For non native people, it’s easier to read/understand a text than trying to understand someone speaking in English (maybe if your English level is high enough that’s not a problem for you, but it’ll still be easir to read a text ).
    -Personally, I like to listen to music while I program, and if you’re trying to follow a video, that’s kind of difficult. I know that I’m not the only one that do this, but I don’t know if that could be a great reason to prefer written tutorials rather than video ones.

    Hope this helps in some way :)

  • Andrew Cox says:

    Hi,

    You comment that “Whether to provide minimalistic examples or one big project that shows more realistic and complex use-cases is an interesting question with no clear winner. You will find as many people preferring the one kind of tutorials over the other.” Do you have more detail on this? Numbers? There are two related questions with a three way split for each.

    I would prefer a series of tutorials that…

    …shows one specific trick each part in a snipped of code.

    …shows one specific trick each part in a minimalistic demo application.

    …build up on each other building a large program in the end.

    I would prefer material that…

    …only concentrates on the API (and API specific concepts).

    …teaches the API and graphics programming in general (transformations, lighting, rendering algorithms etc.)

    …teaches the API, graphics programming and game programming together

    This last question is very interesting. It is related to the phenomenon where you buy a book to learn the specific thing in the title and end up having to work out which bits you can skip as you go (e.g., I got Game Engine Architecture, which I hoped would limit itself to how game engines are architected, but it decided to weigh me down with countless pages of skippable prerequisite and tangentially related material – good book though by the way, not ragging on it in general).

    • Robert says:

      Here are some numbers from today (with more answers than at the time this post was written, so the results changed a bit):

      (It’s answer, people, percentage)

      I would prefer a series of tutorials that…
      …shows one specific trick each part in a snipped of code. 32 21.1 %
      …shows one specific trick each part in a minimalistic demo application. 63 41.4 %
      …build up on each other building a large program in the end. 57 37.5 %

      I would prefer material that…
      …only concentrates on the API (and API specific concepts). 65 42.8 %
      …teaches the API and graphics programming in general (transformations, lighting, rendering algorithms etc.) 63 41.4 %
      …teaches the API, graphics programming and game programming together. 24 15.8 %

      Hope it helps!

Leave a Reply

Your email address will not be published. Required fields are marked *

*