Войти
АртФорумОцените концепт

Текстура планеты. Хотел как лучше... (7 стр)

Страницы: 13 4 5 6 7 8 Следующая »
#90
21:15, 12 мар. 2021

foxes
> Не это лишнее, столько синусов и косинусов
Так подставь константу. В C++ яб написал constexpr.


#91
2:23, 13 мар. 2021

foxes
> По результату и нагрузке эти два метода становятся равными.
В каком месте? 2^n шумовых выборки вместо n + 1.
Кстати, n-линейная интерполяция — это не Перлин, настоящий Перлин выглядит гораздо лучше.

#92
(Правка: 13:59) 10:24, 13 мар. 2021

}:+()___ [Smile]
> В каком месте? 2^n шумовых выборки вместо n + 1.
Мистер теоретик забывает про сопутствующие вычисления помимо выборок и реальную производительность замеренную таймером.
}:+()___ [Smile]
> Кстати, n-линейная интерполяция — это не Перлин, настоящий Перлин выглядит
> гораздо лучше.
Речь шла о двух октавах - да это не весь перлин. Сюрприз?
}:+()___ [Smile]
Ну и конечно же пруфы:
начало обсуждения
Тест сравнения simplex c интерполяцией по производительности (#if 1 - simplex #if 0 - lerp).

+ Показать

При желании нагрузку можно увеличить для ваших видеокарт, добавив итерации, чтобы fps был меньше 60.
samrrr
> Так подставь константу. В C++ яб написал constexpr.
Ну знаешь, так можно и вычисления шума на текстуру заменить. Как бы то ни было, все еще требуется аналог матричного умножения.
#93
15:15, 13 мар. 2021

foxes
> Мистер теоретик забывает про сопутствующие вычисления помимо выборок и реальную производительность замеренную таймером.
Мистер "практик", который считает себя выше теории, в принципе, не способен сделать адекватное сравнение производительности, ибо для этого какое-никакое знание теории необходимо, иначе получается сравнение метров с килограммами.

> Ну и конечно же пруфы:
Сравнение переусложненной реализации полноценного симплекса с градиентами и суррогата на основе билинейной интерполяции. Причем все это замазано текстурой с турбулентностью так, чтобы качество исходного шума в глаза не бросалось. Между тем, там достаточно вывести noise3 напрямую, чтобы все сразу стало ясно.

#94
(Правка: 23:38) 19:19, 13 мар. 2021

}:+()___ [Smile]
> Мистер "практик", который считает себя выше теории
Очередная критика на два знакомых слова? Вся твоя заученная "теория" - работа многих практиков. Я по крайней мере использую теорию по назначению. А ваши фееричные заявления не имеют за собой ни каких оснований, кроме ханжеского "фи".
}:+()___ [Smile]
> получается сравнение метров с килограммами.
Говорит человек путающий мягкое с теплым, не желая разобраться даже в том что лежит на блюдечке с голубой каемочкой. Где ж ты раньше то был?
}:+()___ [Smile]
> Причем все это замазано текстурой с турбулентностью так, чтобы качество
> исходного шума в глаза не бросалось.
Цикл из 5 строк, где 2 из них шумы с параметром, остальное даже упоминания о нагрузке не стоит. Ты хоть в коде разбераешься?

    for (float i=0.; i<1.; i+=1./N) {
                                                     // --- random field creation
        float T = noise2(P);
#define dnoise2(i,j) T - noise2(P-vec2(i,j)/8./R.y)
        D = vec2(dnoise2(1,0), dnoise2(0,1) );       // software derivatives
        D = normalize(D)*5./R.y;                     // optional : no calm areas
        D = vec2(-D.y,D.x);                          // invicid noise: grad(D)=0
        P -= .1/200.* D*R.y/8.;                      // --- advection (to be LIC )
    }
}:+()___ [Smile]
> Между тем, там достаточно вывести noise3 напрямую, чтобы все сразу стало ясно.
Качество шума можно увидеть на предыдущей странице, здесь же. А не придумывать очередные теории.
Между тем, человек исполнивший этот прием сделал еще 20 таких же примеров, где качество обоих шумов легко читается. Человек один из организаторов ресурса shadertoy, который тоже судя по всему не может сделать адекватное сравнение производительности.

Настолько упоротся в своем "да ты о себе много мнишь", что будь за моими словами сотни математиков и теоретиков, все равно будете твердить одно и тоже. А тем временем у самих ЧСВ зашкаливает.

До сих пор небось думаете, что сдвиг влево знаковых типов приводит к неопределенному результату. Хотя даже разработчики с++ исправили это в своей документации.

Специально в коде дали ссылки на адекватный шум.
simplex
noise

Специально для безруких сравнение качества шумов:
https://www.shadertoy.com/view/Nsf3zM

Где же ваши правильные сравнения, мистер исключительно "знающий" только теорию? inuendo очередной

#95
0:15, 14 мар. 2021

foxes
> Человек один из организаторов ресурса shadertoy, который тоже судя по всему не может сделать адекватное сравнение производительности.
Но тест то кривой.
Во первых слишком много лишнего в цикле, а во вторых этот перлин выдаёт непонятно что, а не шум от 0 до 1.
Если же убрать лишнее то этот типо перлин быстрее чуть ли не вдвое.

> сдвиг влево знаковых типов приводит к неопределенному результату
сдвиг влево на 64 бита приводит к неопределённо долгому дебагу:"а чего это оно не работает в релизе...".

#96
(Правка: 1:39) 1:27, 14 мар. 2021

samrrr
> Во первых слишком много лишнего в цикле, а во вторых этот перлин выдаёт
> непонятно что, а не шум от 0 до 1.
Выдает непонятно что из за функции случайных чисел "vec4 permute(vec4 x){return mod(x*x*34.+x,289.);}".
Функция симплекса тоже выдает значения не строго от 0 до 1 но вас это не смущает. Для его задачи это не имеет ни какого значения, ссылки там все есть. Масштаб шума у него поменялся - у вас уже разрыв шаблона.

samrrr
> Если же убрать лишнее то этот типо перлин быстрее чуть ли не вдвое.
Какой из? Тут сравнивает 2 разных шума, что с лишним кодом, что без - выдают практически равную нагрузку.

samrrr
> сдвиг влево
С таким же успехом как и в право над любыми другими типами со знаком или без, но к документации это не имеет ни какого отношения.

#97
2:21, 14 мар. 2021

foxes
> не строго от 0 до 1 но вас это не смущает.
Но в этом перлине то 100+ значения.
    O = vec4(noise2(P0)); выдаёт непойми что.

foxes
> Какой из?
Перлиновым назван только 1 из них.

> Тут сравнивает 2 разных шума, что с лишним кодом, что без - выдают практически равную нагрузку.
А вот у меня разное fps https://www.shadertoy.com/view/sdX3R7

#98
(Правка: 2:55) 2:37, 14 мар. 2021

samrrr
> Но в этом перлине то 100+ значения.
И что? я вам уже привел ссылки на отредактированный шум.
samrrr
> O = vec4(noise2(P0)); выдаёт непойми что.
Ты понимаешь что остаток от целочисленного деления на 289 не может быть в диапазоне от 0 до 1?
Во первых строчка с текстурой не закоментированна, во вторых

vec4 permute(vec4 x){return fract(sin(x*123.444)*4375.5453);}

или
O =vec4(noise2(P0))*0.5/289.+1.0;

почему все по два раза приходиться объяснять?
samrrr
> А вот у меня разное fps
Не сильно они разные 30-20 fps могут в раз стать 40-50. Все естественно зависит от железа.
#99
5:55, 14 мар. 2021

foxes
> Качество шума можно увидеть на предыдущей странице, здесь же.
Качество шума легко увидеть, заменив весь mainImage на

O = vec4(0.5 + 0.5*noise3(vec3(0.001*U,0.1*iTime)));
Если ты не смог этого сделать сам или считаешь свою поделку нормальным шумом, мне тебя жаль.

> До сих пор небось думаете, что сдвиг влево знаковых типов приводит к неопределенному результату.
В отличие от тебя, как теоретик, я знаю, что левый сдвиг отрицательных перестал быть UB только в C++20.
Если ты используешь в продакшене свежий стандарт, то мне тебя жаль, ибо ни один из компиляторов еще полностью его не поддерживает.

> Специально для безруких сравнение качества шумов:
Слева твой суррогат, справа — нормальный симплекс. На мой взгляд, картинка говорит сама за себя:

+ Показать

> Где же ваши правильные сравнения, мистер исключительно "знающий" только теорию?
Не вижу смысла тратить свое время и тебе что-либо доказывать.
Вообще, не пиши мне больше, дискуссии с тобой мне не интересны.

#100
7:27, 14 мар. 2021

foxes
> O =vec4(noise2(P0))*0.5/289.+1.0;
белый экран.

}:+()___ [Smile]
> Если ты используешь в продакшене свежий стандарт, то мне тебя жаль, ибо ни один из компиляторов еще полностью его не поддерживает.
У меня C++latest обычно.

#101
8:08, 14 мар. 2021

> Fabrice NEYRET
кстати, жутко мутный кадр. он оставляет комментарий под любой какахой, выложенной шейдертое и во что бы то ни стало воюет в комментариях, пока не докажет, что его какаха лучше выложенного. такое чувство, что каждый выложенный шейдертой-проект выкладывается с целью доказать его несостоятельность и его святая обязанность — доказать, что это не так. короче, я даже не знаю, с кем его сравнить, потому что у нас таких нет, но мне он показался жутко мутным.

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

#102
(Правка: 12:05) 9:52, 14 мар. 2021

}:+()___ [Smile]
> Если ты не смог этого сделать сам или считаешь свою поделку нормальным шумом,
> мне тебя жаль.
И зовут меня Inigo Quilez :))))))))
Видеокарта картинку не осилила - все твои аргументы в ответ на замер производительности?
https://gamedev.ru/projects/forum/?id=229698&page=3&m=4586180#m40
samrrr
> белый экран.
#if 0

+ Показать

}:+()___ [Smile]
> Слева твой суррогат
noise from procedural pseudo-Perlin ( adapted from IQ )
Даже у него написано, что если есть проблемы с отображением - этот шум можно заменить на целочисленный или любой другой.
// replace this by something better

Это настолько тривиально! Но у смайла это проблемы "немоготы".
}:+()___ [Smile]
> Если ты используешь в продакшене свежий стандарт, то мне тебя жаль, ибо ни один
> из компиляторов еще полностью его не поддерживает.
Ни в одном компиляторе нет такой проблемы, команда сдвига влево одна, как для знаковых, так и для без знаковых операций во всех процессорах.
}:+()___ [Smile]
> Вообще, не пиши мне больше, дискуссии с тобой мне не интересны.
Ты, не пиши мне больше.
#103
10:02, 14 мар. 2021

foxes
> #if 0
Всё ещё белый экран.
Безымянный | Текстура планеты. Хотел как лучше...

#104
(Правка: 10:46) 10:12, 14 мар. 2021

samrrr
> Всё ещё белый экран.
O =vec4(noise2(P0))*0.5/289.;
O =vec4(fract(noise2(P0)*0.125/289.+0.8));
noise0010 | Текстура планеты. Хотел как лучше...

Страницы: 13 4 5 6 7 8 Следующая »
АртФорумОцените концепт