Здравствуйте уважаемое сообщество!
Начал разбираться в WebGL эмуляции и пришел к выводу что в принципе для подмены WebGL Report Hash (на сайте https://browserleaks.com/webgl) достаточно изменить только ShaderPrecision в WebGL. Выглядит подмена так:
Для корректной подмены этих значений надо разобраться какой параметр и в каких рамках можно изменять дабы "не попасться". Поэтому интересуют следующие вопросы:
1) Для каждого ли из ShaderType (Fragment и Vertex) существуют все из возможных вариантов ShaderPrecisionType (т.е. LowInt / MediumInt / HighInt и их Float аналоги)?;
2) Судя из документации для ShaderPrecisionType Int первое значение в "new ShaderPrecisionFormat(0, 16, 10)" всегда должно быть 0. Верно?;
3) Судя из найденой в гугле инфы все значения в "new ShaderPrecisionFormat(128, 128, 12
" максимально могут иметь значение 128. Верно?;
4) Какие реальные показатели ShaderPrecisionType значений могут быть? Подозреваю что "new ShaderPrecisionFormat(128, 128, 12
" встретить нереально.
5) Сильно ли они могут различаться? Например при (ShaderType.Fragment, ShaderPrecisionType.LowFloat, new ShaderPrecisionFormat(16, 16, 10)) может ли MediumFloat быть (ShaderType.Fragment, ShaderPrecisionType.MediumFloat, new ShaderPrecisionFormat(128, 128, 12
) или все же значения должны быть приближенными, например new ShaderPrecisionFormat(18, 18, 12)?
Благодарю за внимание! С уважением, Олег.
Начал разбираться в WebGL эмуляции и пришел к выводу что в принципе для подмены WebGL Report Hash (на сайте https://browserleaks.com/webgl) достаточно изменить только ShaderPrecision в WebGL. Выглядит подмена так:
PHP:
Instance.WebGLPreferences.SetShaderPrecisionFormat(ShaderType.Fragment, ShaderPrecisionType.LowFloat, new ShaderPrecisionFormat(16, 16, 10));
Instance.WebGLPreferences.SetShaderPrecisionFormat(ShaderType.Vertex, ShaderPrecisionType.LowInt, new ShaderPrecisionFormat(32, 32, 0));
Для корректной подмены этих значений надо разобраться какой параметр и в каких рамках можно изменять дабы "не попасться". Поэтому интересуют следующие вопросы:
1) Для каждого ли из ShaderType (Fragment и Vertex) существуют все из возможных вариантов ShaderPrecisionType (т.е. LowInt / MediumInt / HighInt и их Float аналоги)?;
2) Судя из документации для ShaderPrecisionType Int первое значение в "new ShaderPrecisionFormat(0, 16, 10)" всегда должно быть 0. Верно?;
3) Судя из найденой в гугле инфы все значения в "new ShaderPrecisionFormat(128, 128, 12
" максимально могут иметь значение 128. Верно?;4) Какие реальные показатели ShaderPrecisionType значений могут быть? Подозреваю что "new ShaderPrecisionFormat(128, 128, 12
" встретить нереально.5) Сильно ли они могут различаться? Например при (ShaderType.Fragment, ShaderPrecisionType.LowFloat, new ShaderPrecisionFormat(16, 16, 10)) может ли MediumFloat быть (ShaderType.Fragment, ShaderPrecisionType.MediumFloat, new ShaderPrecisionFormat(128, 128, 12
) или все же значения должны быть приближенными, например new ShaderPrecisionFormat(18, 18, 12)?Благодарю за внимание! С уважением, Олег.


