Каково происхождение этого GLSL rand () с одним вкладышем?
Мы видели этот генератор псевдослучайных чисел для использования в шейдерахтут и там по сети:
float rand(vec2 co){
return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);
}
Это'по-разному называетсяканонический», или же "однострочник, который я где-то нашел в сети ».
Какие'происхождение этой функции? Являются ли значения констант такими произвольными, какими они кажутся, или есть какое-то искусство для их выбора? Есть ли обсуждение достоинств этой функции?
РЕДАКТИРОВАТЬ: самая старая ссылка на эту функцию, которую ямы сталкиваемся сэтот архив с февраля08, исходная страница теперь отсутствует в сети. Но там'Там нет больше обсуждения этого, чем где-либо еще.