21 апреля 2018 года я решил испытать себя, проводя ежедневный эксперимент с кодом без даты окончания. Эта статья представляет собой обзор причин и целей этой проблемы.

Примечание: в этой статье много картинок и анимированных gif. Внимательно прочтите это чтение, если у вас мобильный телефон или более медленное соединение.

Кто я?

Прежде всего, мне 21 год, я студентка Gobelins Annecy. Я работаю по совместительству в Ladydinde в Лионе, где создаю веб-сайты и приложения. Мною движет любопытство и эксперименты. Мне нравится создавать инструменты для создания изображений.

Что это за проект?

Первоначальная цель этого проекта заключалась в том, чтобы дать мне песочницу, в которой я могу построить все, что захочу, без ограничений со стороны клиентов, учителей, задержек или чего-либо еще. Это также позволило мне улучшить свои навыки программирования с использованием разных языков и технологий. Благодаря этим экспериментам я открыл для себя новые дисциплины и области программирования.

Я попытаюсь объяснить свой творческий путь, чему я научился, каков был мой метод, как он сейчас и, наконец, как я отношусь к своей работе. Давайте начнем этот обзор более 8 месяцев ежедневных экспериментов!

Шейдеры, GLSL и магия

За несколько недель до того, как принять решение проводить ежедневные эксперименты, я запустил Книгу шейдеров от Patricio Gonzalez Vivo. Заинтригованный этим странным миром шейдеров, мой первый эксперимент был с фрагментными шейдерами.

Шейдер - это небольшая функция, которая выполняется для каждого пикселя экрана. Из-за этого способа рисования вы не можете легко рисовать круг, квадрат или линии, но, управляя пикселями, вы управляете экраном.

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

Открытие нового мира

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

Мое вдохновение снова было взято из «Книги шейдеров», больше для технического интереса, чем для графического. В этот период я ​​явно сосредоточился на технических вопросах (что не было безумным!). Я считаю, что большая часть работы, которую я проделал за эти месяцы, сейчас не очень интересна. Оглядываясь назад, я могу сказать, что только небольшая часть кажется мне хорошей, но параллельно я обнаружил и приобрел много советов и основ в этой области.

Иногда я находил интересный паттерн или фрагмент кода, который исследовал в течение многих дней множеством разных способов. Это дало мне основу для начала на несколько дней и облегчило мою работу. Это также позволило мне больше сосредоточиться на результате, чем на техническом.

Текстуры

После 4 месяцев использования шейдеров только с цветами и формами я решил работать с текстурами. Использование изображений дало мне визуальную отправную точку для деформации, анимации и модификации.

Благодаря магии шейдеров (которые некоторые называют математикой) легко создать калейдоскоп текстуры и заставить ее двигаться. Вы можете изменять количество деталей, движение (увеличение, уменьшение, вращение и т. Д.), Добавлять деформацию, настраивать ее с помощью волны и многое другое.

Raymarching

В половине сентября я вернулся в школу, где мы начали изучать ванильный WebGL. Я научился создавать 3D-объекты в браузере, но больше всего я обнаружил существование raymarching. Итак, я погрузился в этот новый способ использования шейдеров. Первые кадры представляли собой куб, деформированный или вычтенный сферой. Чтобы было ясно, следующие примеры не являются 3D-объектами, созданными в WebGL, это шейдеры.

Я также начал смотреть уроки из Искусство кода, они потрясающие! Ясный и приятный способ понять небольшой фрагмент кода. Это обучение помогло мне углубить свои знания и овладеть шейдерами и реймарчингом.

Два примера шейдеров, вдохновленных кодом из учебника The Art of Code.

Это был быстрый период, когда я только что научился создавать разные типы примитивных форм: куб, сферу, тор и т. Д. Большая часть моей работы заключалась в том, чтобы объединить их и заставить их двигаться в моей сцене. На самом деле я не нашел времени, чтобы погрузиться в легкую управляемость и множество других удивительных вещей, связанных с реймарчингом. В основном это было связано с окончанием школьного проекта в этот момент и желанием переехать в другое место.

Шейдеры были невероятно интересными, и мне все еще любопытно понять, как создавать изображения и видео с помощью GLSL. У меня такое ощущение, что я только что коснулся поверхности безумного мира возможностей. Так что я вспоминаю шейдеры в другой раз.

Генеративное искусство

В течение октября и ноября я много сомневался в себе и своей работе. Я почувствовал, что шейдеры меня немного утомляют. Я попытался вернуться к более знакомой области: генеративному искусству.

Действительно, первый раз, когда я написал Javascript, это было для школьного художественного проекта в 2016 году. Он назывался Glotch и заключался в разрушении изображения для создания нового. Я также сделал несколько набросков с холстом Javascript в Codepen в течение 2017 года.

Итак, во время этого периода сомнений в ноябре 2018 года я пробовал новые вещи с холстом без удовлетворительных результатов, но в начале декабря я был более вдохновлен и создал более интересные вещи. Я много спрашивал себя о месте кода в искусстве и о том, как создать произведение искусства, что значит быть художником и о многом другом. Я нашел ход мысли в этой статье из Тайлера Хоббса.

Мой процесс тоже изменился. Когда я изучал шейдеры, я сказал себе: «О, этот фрагмент кода даст мне что-нибудь приятное, я сохраню его! ». Теперь у меня есть куча изображений в телефоне и на компьютере, я изучаю, какая графическая часть изображения привлекает мое внимание, и экспериментирую с этим. Иногда это дает мне хороший результат, который я исследую по-своему, но однажды я сбрасывал 4 раза подряд.

Так я стал внимательнее относиться к формам, цветам и узорам. Я старался уделять больше внимания составлению изображений, чем изучению технических вопросов.

Я прекратил создавать анимированные гифки, чтобы больше сосредоточиться на том, что дает мне изображение. Это также позволило мне больше сосредоточиться на процессе создания, а не на производительности дисплея. Одни свои работы я распечатал, другие нарисовал (плоттером Line-us).

Линия-нас

Иногда я писал свои работы. Из-за несовершенства Line-us, штрих не идеален. В некотором смысле это дает органичное ощущение, которое я хочу использовать в своих будущих экспериментах.

Заключение и будущее

Я начал это испытание, не имея точного представления о том, куда я иду. Хотя я не устанавливал дату, чтобы остановиться, с помощью различных технологий и подходов я постепенно понял вещи о себе и своей работе.

Производить что-то повседневное немного сложно. С другой стороны, это позволяет мне производить, тестировать и экспериментировать. Я показал здесь около 30 картинок и анимированные гифки за 8 месяцев работы. В моей работе нет ничего идеального. Иногда это действительно плохо, но иногда я счастлив и горжусь тем, что сделал. Тем более, что занимаюсь генеративным искусством.

Я всегда хотел рисовать, но не умел рисовать ручкой. Поэтому я рисую на своем компьютере. Именно в этом состоянии я сейчас рассматриваю свои ежедневные эксперименты.

Если вы хотите видеть, что я делаю, подпишитесь на меня в Twitter. Также в этом году я решил каждую неделю выкладывать свои работы на свой Behance.