Флейм
GameDev.ru / Флейм / Форум / Практика процедурного текстурирования (3 стр)

Практика процедурного текстурирования (3 стр)

Поделиться

Страницы: 1 2 3 4 ... 12 ... 21 22 23 Следующая

gammakerПостоялецwww8 сен. 201718:16#30
FordPerfect
> Некоторые идеи уровня дизайна, и их лучше представлять заранее.
Пока на начальном этапе сделать лишь бы работало, над дизайном буду позже думать.

FordPerfect
> Ну в shadertoy же работает. Худо-бедно.
Там всё в одном canvas'е с webgl. А я делаю много картинок, отображающихся отдельно на странице, чтобы их потом можно было объединить в галерею или ещё как-нибудь удобно смотреть. И вот добавление картинок на страницу довольно медленное.

FordPerfect
> А можно выдать пользователю полноценную linear2srgb, как раз чтобы не городить
> кривое своё.
А возведение в степень разве кривое и неполноценное? Я пока не заморачивался на таких деталях, пока других дел хватает.

FordPerfect
> Как ты делаешь float->byte, если делаешь.
Просто рендерю float текстуру в byte текстуру и её уже вывожу.

FordPerfect
> Выводить индивидуально, возле каждой промежуточной текстуры, чтобы понятно,
> какой этап тормозит.
У меня каждая промежуточная текстура не выводится, выводятся только те, которые пользователю нужны и он вызвал ExportTexture для них. А вывод текстуры обычно тормознее, чем её генерация.

FordPerfect
> Режим работы; рука вообще мышки не касается. Т. е. даже кнопка "Generate" с
> хоткеем или без - заметная разница.
Пока об этом рано думать, пока это просто тулза для экспериментов типа jsfiddle, а не для работы в ней.

FordPerfect
> 4D перлин иногда полезный (x,y,z,t)->текстурные координаты. Впрочем, 4D
> симплекс ок.
У меня статические текстуры, без времени. И только 2D. 3D в первый WebGL не завезли.

FordPerfect
> Иногда ручками задавать тоже охота.
Пока доделаю что есть, а там видно будет. Если будут юзеры и им будет нужно, тогда добавлю.

FordPerfect
> Можешь взглянуть на extended box filter, и попробовать его адаптировать к своему.
Так оно же совсем на WebGL не ложится.

FordPerfect
> Успехов!
Спасибо.

Правка: 8 сен. 2017 18:16

FordPerfectПостоялецwww8 сен. 201719:10#31
gammaker
>А возведение в степень разве кривое и неполноценное? Я пока не заморачивался на таких деталях, пока других дел хватает.
Ну да.
inline float linear2srgb(float x)
{
    if(x<=0.0031308f) return 12.92f*x;
    else return 1.055f*std::powf(x,1.0f/2.4f)-0.055f;
}

inline float srgb2linear(float x)
{
    if(x<=0.04045f) return x/12.92f;
    else return std::powf((x+0.055f)/1.055f,2.4f);
}

>У меня статические текстуры, без времени. И только 2D. 3D в первый WebGL не завезли.
Время пользователь может сам. Атлас из текстуры сделать.
3D, опять же, не про 3D-текстуры. А про 3D координаты модели, соответствующие текстурным координатам.

>Там всё в одном canvas'е с webgl. А я делаю много картинок, отображающихся отдельно на странице, чтобы их потом можно было объединить в галерею или ещё как-нибудь удобно смотреть. И вот добавление картинок на страницу довольно медленное.
Вроде это можно сделать быстро.

gammakerПостоялецwww8 сен. 201719:29#32
FordPerfect
> Вроде это можно сделать быстро.
Я сделал так, что быстрее некуда: никаких лишних конвертаций форматов, формируется сразу бинарный блоб, никаких base64 и никаких циклов на JS. Но всё равно задержка есть. Хотя возможно это от чего-то другого, я ещё не мерил по отдельности.

FordPerfect
> float linear2srgb(float x)
Спасибо, утащу их тогда себе.

122Постоялецwww8 сен. 201720:04#33
FordPerfect
> Практика процедурного текстурирования
Все и так знают, но имеет смысл сказать это снова: процедурное текстурирование это низкосотное говно. Достаточно сравнить сгенерированные текстуры и бесплатные фото-текстуры. Никто не сгенерирует даже обычного дерева, типа: link
Термин говно не призван никого задеть, это наблюдаемый факт.

Кто хочет не согласиться - велком, сгенерируйте вот это дерево что по ссылке. Глаза думаю вам сами скажут получится ли сходное качество.

+ самые_обычные_текстуры_которые_не_сгенерировать
gammakerПостоялецwww8 сен. 201720:32#34
122
> Достаточно сравнить сгенерированные текстуры и бесплатные фото-текстуры. Никто
> не сгенерирует даже обычного дерева
Дерево довольно сложное по своей природе. Если его нельзя сгенерировать, это не доказывает, что больше ничего нормального нельзя сгенерировать.
122Постоялецwww8 сен. 201720:35#35
gammaker
> Дерево довольно сложное по своей природе. Если его
Лил.
Ок, вот другой материал. Сделай что-нибудь похожее на эту текстуру генерацией.
+ Показать

Может и это не тот материал?
Ок, вот третий тип. Попытаешься соперничать?

+ Показать

Правка: 8 сен. 2017 20:40

gammakerПостоялецwww8 сен. 201720:52#36
122
> Или и это сложный материал?
Это наверное норм, но у меня недостаточно развит скилл процедурной генерации, чтобы такое сделать. Я обычно делаю методом тыка и экспериментов или на основе того, что нашёл у других.
Это надо мастеров всяких Filter Forge и подобных программ спрашивать.

122
> Ок, вот третий тип. Попытаешься соперничать с генерацией?
Можно сгенерить отдельные текстуры камешков, меши камешков, накидать их и отрендерить с тенями. Но это уже надо много фич в генераторе текстур.

Кстати эти картинки бесполезны в качестве текстур, потому что в них зашито освещение, и похоже, что они даже не бесшовные. А ещё нужна карта высот и карта нормалей.
А процедурные текстуры получаются без лишнего освещения, сразу бесшовные и с промежуточными этапами, для которых можно сделать ветки height map и другие.
Но моя утилита в перспективе будет не только как генератор текстур работать, а также сможет загружать готовые картинки, чтобы накладывать на них эффекты - в отличие от всяких фотошопов, можно запрограммировать свой сложный эффект.

foxesПостоялецwww8 сен. 201721:45#37
122
> Кто хочет не согласиться - велком, сгенерируйте вот это дерево что по ссылке.
> Глаза думаю вам сами скажут получится ли сходное качество.
Что то типа этого подойдет? wood texture generator
122Постоялецwww8 сен. 201722:38#38
foxes
> Что то типа этого подойдет?
А ты сам отличишь это от настоящего дерева? Думаю, ответ очевиден.
И низкая детализация, кстати.
MrShoorУчастникwww9 сен. 20171:30#39
gammaker
> Дерево довольно сложное по своей природе. Если его нельзя сгенерировать, это не
> доказывает, что больше ничего нормального нельзя сгенерировать.
Как раз таки дерево достаточно простое по своей природе, ибо его структуру легко понять. Качественные кирпичи генерить труднее, имхо.

122
> А ты сам отличишь это от настоящего дерева? Думаю, ответ очевиден.
Ок, какая из этих текстур сгенерирована.

+ Показать

Сможешь отличить?
MikleМодераторwww9 сен. 20178:38#40
122
> А ты сам отличишь это от настоящего дерева?
Так нужно натурально, или красиво? Вспоминаю старые споры с тобой на эту тему, ты ставил в пример текстуры из Quake, которые совсем не натуральны, зато, с твоей точки зрения, красивы.
gammakerПостоялецwww10 сен. 201715:42#41
Готова первая версия, создал тему проекта. Так что давайте экспериментировать!

Целых два дня потратил на фичу сохранения результата. Сначала хотел зашить весь код в URL и использовать сервис сокращения ссылок. Но их либо банит Роскомнадзор, либо там длина ограничена до 2000 символов, либо нет публичного REST API, либо это гугл, который вроде как требует данные аккаунта в ссылку зашивать и наверняка одного аккаунта не хватит на всех.
В итоге нашёл и заюзал scorocode, специально предназначенный для этих вещей и бесплатный аккаунт которого почти без ограничений.

Правка: 10 сен. 2017 16:56

FordPerfectПостоялецwww10 сен. 201722:42#42
Несколько приёмов.

Слева - 2 октавы Перлина.
Справа - 2-я октава использует 1-ю в качестве 3-й координаты.
c1 | Практика процедурного текстурирования c2 | Практика процедурного текстурирования

Слева - обычный Перлин.
Справа - применён sigma(7.0f*perlin(...)), где sigma(x)=x/(1+abs(x)).
c3 | Практика процедурного текстурирования c4 | Практика процедурного текстурирования

Слева - sigma(17.0f*f(...)).
Справа - sgn(f(...)) с последующим blur.
c5 | Практика процедурного текстурирования c6 | Практика процедурного текстурирования

gammakerПостоялецwww10 сен. 201723:40#43
FordPerfect
> Несколько приёмов.
Можешь продемонстрировать это на моей утилите?

Как тебе кирпичная стенка?

FordPerfectПостоялецwww11 сен. 20170:25#44
gammaker
WebGL нету. Не работает.
Вроде был в каком-то браузере.
Может ещё перепроверю.

Покажешь как оно картинкой выглядит?

Ну и поругайте дощечки, что-ли.

+ Показать
+ Показать

Страницы: 1 2 3 4 ... 12 ... 21 22 23 Следующая

/ Форум / Флейм / Программирование

2001—2017 © GameDev.ru — Разработка игр