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

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

Страницы: 119 20 21 22 23 24 Следующая »
SuperInoyЗабаненwww12 окт. 20172:05#330
}:+()___ [Smile]
твой гаусс покусал какой-то архиватор, градиент же неровный...
+ Показать
}:+()___ [Smile]Постоялецwww12 окт. 20172:53#331
SuperInoy
> твой гаусс покусал какой-то архиватор, градиент же неровный...
Ну так я не с проста написал про byte4. В реальном применении у меня 14-битные промежуточные значения плюс dithering на выходе.

> P.S. сомнения в производительности никуда не делись, потому что они не от количества операций исходят, а от особенностей обращений к памяти.
O(ln R) DIP-ов, O(Nx*Ny) пиксельных операций фиксированной сложности.
Все обращения к памяти — локальные, доступ регулярный.
Где там могут быть сомнения, мне понять сложно.

gammakerПостоялецwww12 окт. 20179:39#332
}:+()___ [Smile]
> Короче, вот. Портировал свою CPU версию. Размывает только вдоль оси X, но все
> шейдеры для произвольного случая там есть.
Здорово. Интересно, как будет выглядеть на кирпичах, на которые я давал ссылку. Сам смогу посмотреть только из дома вечером, потому что редактор кода не юзабелен с телефона совсем.

}:+()___ [Smile]
> Очень не хватает нормального способа передавать параметры в шейдеры (или он
> есть, только я его не нашел?)
Да, это одна из фич, которые я хотел добавить первым делом, но не успел, а теперь некогда.

}:+()___ [Smile]
> Ну и, по-хорошему, byte4 мало, для промежуточных стадий надо повышать точность.
Есть half4 и float4. Но на многих мобилках работать не будет.

gammakerПостоялецwww12 окт. 201723:32#333
Вот размытие кирпичей: https://gammaker.github.io/texgen/?id=0OjV1qGk4e
MikleМодераторwww13 окт. 20179:05#334
gammaker
> размытие
Достаточно быстро. 2048*2048 размыл с радиусом 1000 - ощутимой задержки нет на слабенькой GT430.

Правка: 13 окт. 2017 9:05

gammakerПостоялецwww13 окт. 201711:39#335
Mikle
> Достаточно быстро. 2048*2048 размыл с радиусом 1000 - ощутимой задержки нет на
> слабенькой GT430.
Тогда надо будет внедрить эти функции прямо в мою утилиту. При этом можно будет сделать единый коротенький шейдер, который будет компилироваться быстро и всего один раз. А ещё надо доработать эти функции, чтобы промежуточные текстуры не плодились, а то генерация сейчас жрёт очень много видеопамяти.
}:+()___ [Smile]Постоялецwww13 окт. 201723:23#336
gammaker
> Тогда надо будет внедрить эти функции прямо в мою утилиту.
Там алгоритм стоит адаптировать под GPU. Например, выкинуть все вспомогательные фильтры (prefilterN), а основные слить в один 17-точечный.
Я уже прикинул, потери точности не будет и количество текстурных выборок не изменится, надо только переписать генерацию коэффициентов.
И кстати, размытие отдельно по X и Y неэффективно, надо перемежать соответствующие стадии.
FordPerfectПостоялецwww31 окт. 20178:56#337
gammakerПостоялецwww31 окт. 20179:15#338
FordPerfect
Что это? Вроде на песок похоже, но цвет какой-то слишком тёмный. Или это ткань?
Видны какие-то горизонтальные линии и по-моему даже не только горизонтальные.
MikleМодераторwww31 окт. 20179:24#339
gammaker
В 2048*2048 рельеф прослеживается более явно, но всё равно не ясно, что это, кожа крокодила (если ячейки выпуклые)? Ракушечник (если вогнуты)?
FordPerfectПостоялецwww31 янв. 201820:11#340
Написал тулзу для PCA изображения, может пригодится:
https://jsfiddle.net/5kx92vtp/2/

На пальцах, что такое PCA: метод находит средний цвет изображения и три (ортогональных!) основных градиента, вдоль которых этот цвет меняется, вместе с амплитудами разброса вдоль этих градиентов (lambda).

Может быть полезно, чтобы генерировать основываясь на существующей картинке.

Почти не тестировал, берегитесь багов.

gammakerПостоялецwww31 янв. 201821:42#341
FordPerfect
> Почти не тестировал, берегитесь багов.
Не работает (Chrome 63). Выбрал файл (пробовал .png и .jpg), при нажатии на Process реакции нет. Только в консоли появляется такая ошибка:
Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The source width is 0.

Правка: 31 янв. 2018 21:43

MikleМодераторwww31 янв. 201822:30#342
gammaker
> Только в консоли появляется такая ошибка
Где там консоль смотреть?
У меня тоже ноль реакции в двух разных браузерах.
gammakerПостоялецwww31 янв. 201823:05#343
Mikle
> Где там консоль смотреть?
Меню -> Дополнительные инструменты -> Инструменты разработчика.
entrywayПостоялецwww31 янв. 201823:08#344
Надо добавить обработчик onload для img, а не присвоить url и сразу действовать.

Правка: 31 янв. 2018 23:09

Страницы: 119 20 21 22 23 24 Следующая »

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

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