OpenSimple шум
Тема этой статьи Википедии может не соответствовать общему правилу по известности . ( март 2016 г. ) |
Шум OpenSimplex — это n-мерная (до 4D) функция градиентного шума , которая была разработана для преодоления патентных проблем, связанных с симплексным шумом , а также для предотвращения визуально значимых направленных артефактов, характерных для шума Перлина .
Алгоритм имеет много общего с симплексным шумом, но имеет два основных отличия:
- В то время как симплексный шум начинается с гиперкубических сот и сжимает их по главной диагонали, чтобы сформировать сеточную структуру, [1] Вместо этого шум OpenSimplex меняет местами коэффициенты асимметрии и обратной асимметрии и использует растянутые гиперкубические соты. Растянутые гиперкубические соты после разделения становятся симплектическими сотами . [2] Это означает, что 2D Simplex и 2D OpenSimplex используют разные ориентации треугольной мозаики , но тогда как 3D Simplex использует тетрагональные дисфеноидные соты , 3D OpenSimplex использует тетраэдрально-октаэдрические соты . [2]
- Шум OpenSimplex использует больший размер ядра, чем симплексный шум. В результате получается более гладкий внешний вид за счет производительности, поскольку необходимо определять и учитывать дополнительные вершины при каждой оценке. [2]
У OpenSimplex есть вариант под названием «SuperSimplex» (или OpenSimplex2S), который визуально более плавный. «OpenSimplex2F» идентичен оригинальному SuperSimplex.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Кен Перлин, Шумовое оборудование. В примечаниях к курсу SIGGRAPH по затенению в реальном времени (2001), Олано М. (ред.). (pdf)
- ^ Перейти обратно: а б с Spirit of Iron: Simplectic Noise Блог Майкла Пауэлла
Внешние ссылки
[ редактировать ]- Сообщение в блоге, посвященное шуму OpenSimplex
- Текущая авторская реализация (OpenSimplex2)
- Android-библиотека
- C-реализация
- Реализация графического процессора в OpenCL
- Сильно оптимизированная реализация на C#.
- Библиотека шума для языка программирования Rust, обеспечивающая шум OpenSimplex – не изменяет начальные значения жесткого кода.
- Реализация Python