Open Vladislav4KZ opened 9 months ago
Попробуй отключить овербрайты. Не знаю пока как это связано, но на ребейзнутом new-dlights2 (я пока только на него ориентируюсь) проблема с выключеннымии овербрайтами не проявляется
gl4es сгенерировал такой фрагментный шейдер при включённом овербрайте. Альфа берётся из второго сэмплера (лайтмапы)
Наиболее вероятно, что это баг не движка, а реализации в gl4es
precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; varying vec4 _gl4es_TexCoord_1; uniform sampler2D _gl4es_TexSampler_1; uniform float _gl4es_TexEnvRGBScale_1; void main() { vec4 fColor = Color; vec4 texColor0 = texture2DProj(_gl4es_TexSampler_0, _gl4es_TexCoord_0); vec4 texColor1 = texture2DProj(_gl4es_TexSampler_1, _gl4es_TexCoord_1); vec4 Arg0, Arg1, Arg2; fColor = texColor0; Arg0.rgb = fColor.rgb; Arg0.a = texColor1.a; Arg1.rgb = texColor1.rgb; fColor.rgb = Arg0.rgb Arg1.rgb; fColor.a = Arg0.a; fColor.rgb = _gl4es_TexEnvRGBScale_1; fColor = clamp(fColor, 0., 1.); gl_FragColor = fColor; }
Для сравнения, с выключенными овербрайтами. Здесь берётся альфа от сэмплера текстуры
precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; varying vec4 _gl4es_TexCoord_1; uniform sampler2D _gl4es_TexSampler_1; void main() { vec4 fColor = Color; vec4 texColor0 = texture2DProj(_gl4es_TexSampler_0, _gl4es_TexCoord_0); vec4 texColor1 = texture2DProj(_gl4es_TexSampler_1, _gl4es_TexCoord_1); fColor = texColor0; fColor.rgb *= texColor1.rgb; gl_FragColor = fColor;
}
https://github.com/FWGS/xash3d-fwgs/commit/63330b295f5c38f990c55fc5e6020b3654ba951b
Не знаю как это починить со стороны gl4es, он берёт текущий tmu как источник для альфы, что вроде бы правильно, но если сделать так - то вместо свизла будет перемножаться вся текстура, что в принципе корректно пока нет альфы в лайтмапе
С выключенным VBO на GL4ES, прозрачный фон на текстурах работает.
Проверял на: Xash3D FWGS v49/0.20 Номер сборки: 3248 Тип сборки: android-arm64 Коммит: https://github.com/FWGS/xash3d-fwgs/commit/119926805fe2cd7d2a92454bf577717376cb2624 Ветка: master
Устройство: Samsung Galaxy A52 (SM-A525F) ОС: Android 13 (OneUI 5.1)