Реклама
Комментарии 12
Учитывая поддержку браузерами, стоит изучить, возможно придет вдохновение как использовать. Вероятно и svg графики можно будет заменить, что то уж долговато их прорисовать на CPU.
«GLSL компилируется на GPU». Это меня повеселило. На CPU он компилируется, в драйвере.
Теперь ближе к сути atan в шейдере — это не хорошо, это медленно. В данном случае лучше передать 2 прямые, которые определяют сектор и проверять, по какую сторону от каждой прямой находится данный пиксель. Дальше додумывайте сами, если не получится — обращайтесь. Я подобное реализовывал когда делал анимацию кулдауна на кнопке аля World of Warcraft.
Ммм, нет. Вот про WebGl, и даже CSS рендерится в GPU. Для доказательства открой dev tools в режиме профилирования.
Рендерится на GPU, а компилируется на CPU. Компилируется — транслирует high-level язык GLSL в инструкции GPU. Подтяни терминологию.
Хм, ваша правда(про CPU не нашел, но и про GPU тоже ни слова, везде фигурирует в драйвере). GLSL рендерится на GPU. Так правильнее или не уловил суть?
Ну почти, не сам GLSL рендерится, а то во что он скомпилировался. Ну и слово тоже неудачно подобрано — рендерится это синоним слова отрисовывается. Программа выполняется, а картинка отрисовывается. Вобщем лучше написать что шейдер выполняется на GPU.
Спасибо, за объяснение терминологии(без сарказма). Кармы не хватает,
но +.
<Зануда_mode_on>
«фрагментный» значит «пиксельный», в англоязычной терминологии часто используется «fragment shader»

Не то чтобы я придирался, но хотелось бы уточнить, иначе потом новички неверно улавливают суть.
После того как отработал вершинный шейдер, вершинные аттрибуты уходят в интерполятор, на выходе из которого мы получаем фрагменты — это потенциальные будущие пикселы на экране (или вне-экранном буффере), но пока — это фрагменты. Именно с фрагментами работает фрагментный шейдер, на выходе из которого мы получим глубину и от ноля до N цветов.

Понятие «пиксельный шейдер» пришло из DirectX и является не совсем корректным, хоть и более широко известным.
<Зануда_mode_off>

Чего, операционная система на JS никого, кроме меня, не заинтересовала?

Выглядит прикольно. Но есть вопрос. Я правильно понимаю, что вычисления производятся для каждого пикселя канваса, и для того, что закрашивается, и для того, который остаётся нетронутым? Т.е. если у нас канвас на весь экран, а спиннер мелкий и по центру, то нагрузка на GPU будет такая же, как если бы спиннер занимал весь экран?

Посмотрите внимательней, нет там ускорения. Так лишь кажется, оттого что вращение совмещено со схлопыванием/расхлопыванием арки.

Только полноправные пользователи могут оставлять комментарии. , пожалуйста.