New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Android] [VBO] [GL4ES] Чёрный фон вместо прозрачного отображается на текстурах #1620
Comments
Попробуй отключить овербрайты. Не знаю пока как это связано, но на
ребейзнутом new-dlights2 (я пока только на него ориентируюсь) проблема с
выключеннымии овербрайтами не проявляется
|
gl4es сгенерировал такой фрагментный шейдер при включённом овербрайте.
Альфа берётся из второго сэмплера (лайтмапы)
Наиболее вероятно, что это баг не движка, а реализации в gl4es
#version 100
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;
}
|
Для сравнения, с выключенными овербрайтами. Здесь берётся альфа от
сэмплера текстуры
#version 100
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;
}
|
63330b2
Не знаю как это починить со стороны gl4es, он берёт текущий tmu как
источник для альфы, что вроде бы правильно, но если сделать так - то
вместо свизла будет перемножаться вся текстура, что в принципе корректно
пока нет альфы в лайтмапе
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
С выключенным VBO на GL4ES, прозрачный фон на текстурах работает.
Проверял на:
Xash3D FWGS v49/0.20
Номер сборки: 3248
Тип сборки: android-arm64
Коммит: 1199268
Ветка: master
Устройство: Samsung Galaxy A52 (SM-A525F)
ОС: Android 13 (OneUI 5.1)
The text was updated successfully, but these errors were encountered: