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.