Freeware texture generator BTexure v 1.0 |
Начата разработка программы, которая позволит создавать качественные текстуры без швов (tiled textures). На данный момент есть первая версия программы (на какое-то время она останется и последней версией подробнее).
Н |
DOWNLOAD BTexture v 1.1 (543 kb) DOWNLOAD BTexture v 1.1 (full, 625 kb) |
С результатами ее работы можно познакомится здесь. Все представленные текстуры можно использовать, например, на Web-страницах, т.е. при их повторении на странице не видно стыков между текстурами. На примерах в черную рамочку поставлена "единичная" текстура.
А вот пример работы другой программы Alien skin textureshop. Сделана она под MacOS и поэтому не может быть использована на писюках. А хотелось бы. И ничего подобного под Windows я не видел.... Может кто подскажет?
В программе "Чужая кожа" только один параметр: "Feature size". Если (к примеру) при 100% Feature size на единичной текстуре один "пузырь", то при 50% таких пузырей может стать 6, но при этом они будут располагаться равномерно хаотично. При 25% таких пузырей станет настолько много, что они будут частично наезжать друг на друга - будет похоже на пену (т.е. между пузырями будут перегородки). Одно из моих предположений: эта программа использует процедурный подход с наложением фильтров.
Подходы к построению текстур я условно разделил на 3 группы:
Функциональный подход: для заполнения текстуры строится функция F(x,y). Плюс могут использоваться различные искажения (волновые, например). Для создания бесшовной текстуры необходимо, чтобы формула имела период равный единице, т.е. F(0,0)=F(1,0)=F(3,2). Наиболее естественно использовать для этой цени sin(x). Но сразу возникают трудности с получением "острых углов", трудно избавится от "волнистости" и трудно получить простые геометрические фигуры.
Процедурный подход: для заполнения площади применяются различные геометрические фигуры (многоугольники, сплайновые фигуры и пр.). Т.е. к одной и той же точке текстуры в процессе создания текстуры необходимо будет обратиться несколько раз. Для создания бесшовной текстуры необходимо либо сразу "разумно" располагать геометрические фигуры, либо к получившейся массе применять геометрические преобразования (например по типу калейдоскопа). Наиболее хорошие результаты должны быть (по моему мнению) при "разумном" расположении элементов.
Одно из решений по "разумному" расположению я уже нашел - для получения безшовной текстуры нужно выбирать фигуры меньше, чем площадь (видимо в "Чужой коже" параметр Feature size как раз и отвечает за размер элементов изображения). После этого фигуру нужно размножить. Т.е. если мы первую фигуру поставили в координаты (X,Y) (x и y в диапазоне 0..1), то нам нужно построить еще 3 фигуры в координатах (X-1,Y) (X,Y-1) (X-1,Y-1). Отрицательные значения будут отсекаться, а то, что прорисуется в "положительную" сторону как раз и будет дополнять фигуру, нарисованную в координатах (X,Y). Главное, чтобы фигура была по ширине и высоте меньше 1.
Смешанный подход: сначала, например, строятся геометрические фигуры, а потом добавляются периодические функции. Именно этот подход я и собираюсь обдумывать в ближайшее время.
Ближайшие проблемы:
Напишите мне все свои мысли по поводу построения алгоритма Alien skin textureshop: Imageman@inbox.lv
Дата последней модификации страницы:
06.12.2008 16:31
|
Дата последней модификации страницы: 06.12.2008 16:31
Russian LinkExchange Member |
|
|