Jump to content

Шадертой

Шадертой
Оригинальный автор(ы) Иниго Килес и Пол Джеремиас
Первоначальный выпуск 14 февраля 2013 г. ( 14 февраля 2013 г. )
Стабильная версия
Релиз 0.8.3 / 3 марта 2016 г.
Написано в GLSL , JavaScript , PHP
Тип для 3D-компьютерной графики инструментов Сообщество
Веб-сайт www .shadertoy

Shadertoy — это онлайн-сообщество и инструмент для создания и обмена шейдерами через WebGL , используемый как для изучения, так и для преподавания компьютерной 3D-графики в веб-браузере .

Процедурное изображение, созданное в Shadertoy, с полями расстояний, смоделированными, затененными, освещенными и визуализированными в реальном времени.

Shadertoy — это онлайн-сообщество и платформа для компьютерной графики и ученых. профессионалов [1] и энтузиасты, которые делятся, изучают и экспериментируют с методами рендеринга и процедурным искусством с помощью GLSL кода . По состоянию на середину 2021 года от тысяч пользователей поступило более 52 тысяч публичных вкладов. ВебГЛ [2] позволяет Shadertoy получить доступ к вычислительной мощности графического процессора для создания процедурного искусства, анимации, моделей, освещения, логики на основе состояний и звука.

Shadertoy была создана Полом Джеремиасом и Иниго Килезом в январе 2013 года и вышла в сеть в феврале того же года.

Истоки проекта лежат в разделе Иниго "Shadertoy". [3] на своем образовательном веб-сайте по компьютерной графике. [4] С появлением первой реализации WebGL в Mozilla Firefox в 2009 году Quilez создал первую онлайн-среду живого кодирования и курировал репозиторий процедурных шейдеров. Этот контент был предоставлен 18 авторами из Demoscene и демонстрировал передовые интерактивные анимации в реальном времени, никогда ранее не встречавшиеся в Интернете, такие как меташары, фракталы и туннельные эффекты.

После многолетней совместной работы над несколькими проектами рендеринга в реальном времени, в декабре 2012 года Килез и Пол решили создать новый сайт Shadertoy, который будет следовать традициям оригинальной страницы Shadertoy с ресурсом, ориентированным на демосцену, и графикой реального времени с ограниченным размером. контент, но добавит социальные и общественные функции и примет подход с открытым исходным кодом.

Страница появилась с живым редактором, воспроизведением в реальном времени, возможностями просмотра и поиска, функциями тегирования и комментирования. Что касается контента, Shadertoy предоставила своим пользователям фиксированный и ограниченный набор текстур, которые они могли использовать творчески. С годами Shadertoy добавила дополнительные функции, такие как поддержка ввода с веб-камеры и микрофона, видео, музыка, рендеринг в виртуальной реальности и многопроходный рендеринг.

Всего имеется более 31 тысячи вкладов от тысяч пользователей, на некоторые из которых есть ссылки в научных статьях. Shadertoy также проводит ежегодные соревнования и мероприятия для своего сообщества, такие как Siggraph 2015 Shadertoy Competition. [5]

  • Редактирование: редактор с подсветкой синтаксиса и немедленной визуальной обратной связью.
  • Социальные: комментирование шейдерных игрушек, голосование (лайк)
  • Совместное использование: постоянные URL-адреса, встроенные в другие веб-сайты, частный обмен шейдерами.
  • Рендеринг: многопроходной режим и история на основе буфера с плавающей запятой.
  • Медиа-входы: микрофон, веб-камера, клавиатура, мышь, шлемы виртуальной реальности, Soundcloud, видео, текстуры.

Использование

[ редактировать ]

Примером процедурной анимации, созданной в Shadertoy, может быть следующий квадратный туннель:

void mainImage(out vec4 fragColor, in vec2 fragCoord)
{
    // input: pixel coordinates
    vec2 p = (-iResolution.xy + 2.0 * fragCoord) / iResolution.y;

    // angle of each pixel to the center of the screen
    float a = atan(p.y, p.x);
    
    // modified distance metric
    float r = pow(pow(p.x * p.x, 4.0) + pow(p.y * p.y, 4.0), 1.0/8.0);
    
    // index texture by (animated inverse) radius and angle
    vec2 uv = vec2(1.0 / r + 0.2 * iTime, a);

    // pattern: cosines
    float f = cos(12.0 * uv.x) * cos(6.0 * uv.y);

    // color fetch: palette
    vec3 col = 0.5 + 0.5 * sin(3.1416 * f + vec3(0.0, 0.5, 1.0));
    
    // lighting: darken at the center    
    col = col * r;
    
    // output: pixel color
    fragColor = vec4(col, 1.0);
}

Код выше генерирует следующее изображение:

Изображение, созданное приведенным выше кодом

Упоминания

[ редактировать ]

Shadertoy упоминается в нескольких источниках:

  • Блог разработчиков NVidia , июнь 2016 г., объявлен конкурс Shadertoy Contest 2016. [6]
  • Siggraph в реальном времени в прямом эфире! , 2015, проект интерактивной звуковизуализации. [7]
  • Hacker News , 2014 г., Shadertoy добавляет в браузер процедурную музыку, генерируемую графическим процессором. [8]
  • Численные методы трассировки лучей неявно заданных поверхностей , [9]
  • Курс CS 371 в колледже Уильямс , 2014 г., Вдохновение для CS 371 [10]
  • Рендеринг в реальном времени , август 2015 г., «Семь вещей» за 20 августа 2015 г. [11]
  1. ^ Макгуайр, Морган. «Промежуточное вдохновение» (PDF) . CS371: Вычислительная графика [осень 2014 г.] . Архивировано (PDF) из оригинала 15 ноября 2020 г. Проверено 29 июня 2024 г.
  2. ^ «Хронос выпускает окончательную спецификацию WebGL 1.0» . Группа компаний «Хронос» . 3 марта 2011 года . Проверено 2 июня 2012 г.
  3. ^ «Шейдерная игрушка» . www.iquilezles.org .
  4. ^ «Иниго Килес» .
  5. ^ «Конкурс Shadertoy Siggraph 2015» .
  6. ^ «Блог разработчиков NVIDIA» . 2016 . Проверено 2 июня 2016 г.
  7. ^ «Конкурс Shadertoy на Siggraph 2015. В прямом эфире!» . Проверено 13 августа 2015 г.
  8. ^ «Хакерские новости» . yкомбинатор . Проверено 31 августа 2020 г.
  9. ^ «Численные методы трассировки лучей неявно заданных поверхностей» (PDF) . Уильямс Колледж. Архивировано из оригинала (PDF) 6 сентября 2015 г. Проверено 25 сентября 2014 г.
  10. ^ «CS 371» (PDF) . Уильямс Колледж. [ мертвая ссылка ]
  11. ^ «Рендеринг в реальном времени — семь вещей на 20 августа 2015 года» . Realtimerendering.com. 2015 . Проверено 20 августа 2015 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2f40daca7bcc5e31fda44c3a1bea5d54__1719613140
URL1:https://arc.ask3.ru/arc/aa/2f/54/2f40daca7bcc5e31fda44c3a1bea5d54.html
Заголовок, (Title) документа по адресу, URL1:
Shadertoy - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)