libclnoise-0.1.0

Генератор процедурных текстур, а вместе с ним и библиотека по генерации процедурного шума получила первую версию — «0.1.0». За время работы над этой версией произошли разные события, как приятные так и не очень. Например из приятных — я обзавелся 27-ми дюймовым монитором DELL 2711 и теперь картинки отображаются намного лучше и в большем разрешении, а из приятных — версия задержалась из-за скоропостижной кончины материнки (gigabyte GA-X79-UD5). Но все позади и теперь можно продолжать работать над новыми версиями. Кстати картинка слева — это RidgedMulti полученный в новой версии.

Что же такого нового в этой версии, что  она удостоилась номера версии?

Список изменений libclnoise.

Добавлены новые модули для генерации шума: Billow, Checkerboard, Const, Cylinders, Perlin, RidgedMulti, Voronoi.

Добавлены модули для обработки шума: abs, abs_diff, add_sat, clamp, max, min, mix, smoothstep, sub_sat.

Реализован боле-менее человеческий кодогенератор, который позволяет динамически менять параметры всех модулей без пересборки карты шумов, что значительно ускоряет работу при постоянном изменении аттрибутов.

Список изменений NoiseTextureGenerator.

Переделан интерфейс пользователя — надеюсь он стал понятней. Для добавления модуля надо сделать даблклик на его имени в списке справа.

После перехода на новую версию libclnoise удалось достич гораздо большей скорости работы. Все модули спокойно отрабатывают за 30мс при размере текстуры 4096*4096 (ПЕЧ570). RidgedMulti при разрешении 1024*1024 занимает 9мс на ПЕЧ260.

Известные баги

Ну а куда без известных багов?

Если удалить модуль, к которому присоединена хотя бы одна стрелка — приложение упадет. Надо сперва удалить все стрелки и только потом удалять модуль.

add_sat и sub_sat могут не работать. Непонятные ошибки от OpenCL компилятора вылетают.

А что будет дальше?

А дальше будет вот что. В ближайшее время я планирую сделать интерфейс для модулей расцветки и реализовать таки многострадальный градиент, чтобы картинки стали еще красивее, далее надо реализовать возможность играться с координатами, а то сейчас нельзя сделать различные инетерсные модификаторы, к примеру turbulence. А после всего этого планируется дать возможность создавать кастомные модули на OpenCL.

А где взять такую замечательную тулзу?

А тулза такая живет в git по старому адресу (см. прошлый пост), а бинарные сборки можно взять тут:

А еще любопытные могут скачать исходник, с которого была получена картинка, расположенная в начале этой статьи.

Tags:

This entry was posted on Понедельник, Февраль 11th, 2013 at 21:36 and is filed under NoiseTextureGenerator, Новости, Утилиты. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

Comments are closed at this time.