Здравствуйте уважаемое сообщество!
Начал разбираться в 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)?
Благодарю за внимание! С уважением, Олег.