Примеры построения графиков в 2D и 3D на шейдерном OpenGL и WebGL

@8Observer8, я всё же до конца не понял, чем именно определяется доступная версия.
Это свойства железа? Драйвера? Какой-то из библиотек Mono?

Определяется установленными драйверами для видео карты. К примеру, у меня две видео карты на ноутбуке: интегрированная (встроенная, Intel HD Graphics 3000) и дискретная (отдельная, Nvidia Geforce GT 540M (1 GB)). По умолчанию почти все приложения запускаются, используя интегированную видео карту. Я максимально могу обновить драйвер на интегрированной до поддержки OpenGL версии 3.1. Поэтому я обычно в шейдерах использую OpenGL версии 3.0. Да, я могу выбирать, какую версию OpenGL использовать, указав версию в шейдерах. Какая версия GLSL соответствует какой версии OpenGL можно посмотреть в таблице в начале этой страницы: https://en.wikipedia.org/wiki/OpenGL_Shading_Language Дискретная карта у меня поддерживает OpenGL версии 4.6. В этой версии много разных полезных фишек накопилось, которые я ещё не изучал, и которые пока мне не нужны. Можно ограничиться просто минимальной версией в шейдерах (выбирается строкой в начале шейдера #version 110 - это соответствует OpenGL версии 2.0). Но в OpenGL 3.0 есть такая удобная штука, как VAO, её нет в OpenGL 2.0. Честно говоря, я впервые сталкиваюсь, что у кого-то отсутствует обнова для драйвера, чтобы поддерживало хотя бы OpenGL 3.0. Я думаю, либо иногда писать на OpenGL 2.0, а иногда выводить сообщение, что нужно обновить драйвера для графической карты и что требуется OpenGL версии 3.0

Мне такая мысль пришла, что эту тему лучше сделать для любителей рисовать графики на OpenGL/GLSL, чистого WebGL/GLSL. Что OpenGL, что WebGL - разницы в коде нет, весь код получится однотипный. Просто если использовать библиотеки, которые используют OpenGL на разных языка, то получится мешанина. Допустим, один человек использует библиотеку Qwt (Qt+C++), которая тоже внутри себя может использует OpenGL (а может не использует). Получится, что он будет на Qwt выкладывать. В общем, на каждом языке есть множество различных библиотек. А вот если писать на чистом OpenGL/WebGL, то код на всех языках будет одним и тем же, поэтому легко можно переписать с языка на язык. Поэтому я обращаю внимание, что впредь нужно выкладывать код в этой теме только на чистом шейдерном OpenGL/WebGL, а по различным библиотекам для графиков создавать отдельные темы.