flow field через gl.TRANSFORM_FEEDBACK, 1-10 миллионов gl.POINTS, ч/б текстура с квадратами кругами или треугольниками в качестве векторного поля
2❤20🔥11😍3👀1
Бессовестно украденная у Kjetil Golid идея, у меня реализация проще, в оригинале коробки не пересекаются.
Традиционного 3д тут нет, хотя изначально полигоны, образующие коробки, заданы точками с 3мя координатами, затем точки образуюшие полигоны повернуты так, чтобы проекция коробки с одинаковыми сторонами(куба) на плоскость экрана была гексагоном, а дальше координата по z просто не используется, кажется так проще посчитать чем в 2д.
Следующим шагом псевдослучайные коробки расставлены в ячейки гексагональной сетки так, чтобы они складывались в нечто напоминающее кубы, для этого пространство в котором формируются кубы тоже разбито по сетке, в ячейках этой сетки формируется набор из коробок, который повторяется в каждой(или не каждой😅) ячейке.
Традиционного 3д тут нет, хотя изначально полигоны, образующие коробки, заданы точками с 3мя координатами, затем точки образуюшие полигоны повернуты так, чтобы проекция коробки с одинаковыми сторонами(куба) на плоскость экрана была гексагоном, а дальше координата по z просто не используется, кажется так проще посчитать чем в 2д.
Следующим шагом псевдослучайные коробки расставлены в ячейки гексагональной сетки так, чтобы они складывались в нечто напоминающее кубы, для этого пространство в котором формируются кубы тоже разбито по сетке, в ячейках этой сетки формируется набор из коробок, который повторяется в каждой(или не каждой😅) ячейке.
3❤22👍10😍3🔥1👀1
Цифровые ковры
Такие картинки получаются если использовать битовые операции для определения цвета пикселя.
Эти изображения получены примерно так:
Целочисленные координаты пикселей отцентрованы и взяты по модулю:
w и h - кол-во пикселей по ширине и высоте.
Посчитаны угол и расстояние от центра:
Индекс цвета вычислен по формуле которая содержит битовые операции, например:
операнды могут иметь коэффициенты, операции могут быть другие, кажется тут большое поле для дальнейших экспериментов..
Такие картинки получаются если использовать битовые операции для определения цвета пикселя.
Эти изображения получены примерно так:
Целочисленные координаты пикселей отцентрованы и взяты по модулю:
x = abs(x - w / 2)
y = abs(y - h / 2)
w и h - кол-во пикселей по ширине и высоте.
Посчитаны угол и расстояние от центра:
a = atan2(y, x)
l = hypot(x, y)
Индекс цвета вычислен по формуле которая содержит битовые операции, например:
c = (a - l) | x | y
операнды могут иметь коэффициенты, операции могут быть другие, кажется тут большое поле для дальнейших экспериментов..
10❤23🔥18❤🔥3👍2✍1👀1
Продолжаю старый скетч, тут реймаршинг на CPU, яркость пикселя влияет на толщину линии, которая начинается в этом пикселе, чем ярче - тем тоньше. В целом можно было бы на вход брать картинку, но так было бы менее интересно.
3❤21👍3🔥1