LibGDX에서 두 개의 텍스처 (.PNG) 이미지를 내 셰이더에 추가하려고합니다. 수학/블렌딩 부분을 제외한 모든 기능이 뛰어납니다. 다행히 누군가가이 혼합 문제를 도와 줄 수 있습니다!LIBGDX- 셰이더에서 원하지 않는 텍스처 블렌딩
이 내베이스 텍스처입니다. (256 X 256 픽셀, 32 비트 텍스쳐)
이 내 "ontop의"감촉. (256 X 256 픽셀, 32 비트 텍스쳐)
I 원하는 효과. 투명도가 작동하는 다른 텍스처 ontop을 가진 간단한 기본 텍스처.
그리고 현재의 결과. 텍스처 사이의 블렌딩은 텍스처의 "점"이 조금 더 밝아집니다.
여러 솔루션을 시도했습니다.
Gdx.gl20.glEnable(Gdx.gl20.GL_BLEND); <-- Doesn't do any difference.
Gdx.gl20.glBlendFunc(Gdx.gl20.GL_ONE, Gdx.gl20.GL_ONE_MINUS_SRC_ALPHA); <-- Dosen't do any difference with the cube, but make vertices transparent on a more advanced mesh.
조각 쉐이더 :
#ifdef GL_ES
precision mediump float;
#endif
varying vec2 v_texCoord0;
uniform sampler2D u_texture1;
uniform sampler2D u_texture2;
void main() {
vec4 bodyColor = texture2D(u_texture1, v_texCoord0);
vec4 addColor = texture2D(u_texture2, v_texCoord0);
gl_FragColor = bodyColor + addColor;
}
뭔가가 분명히 잘못이 LibGDX의 쉐이더를 구현 내 수업, 렌더러에서입니다.
매우 잘 설명 된 답변에 감사드립니다. 나는 알파 값을 가지고이 방법으로 사용해야한다는 것을 몰랐다. 그러나 이것은 내가 많이 도움이되었다! 문제를 해결할뿐만 아니라 GPU와 쉐이더에 대해 더 많이 배울 수 있습니다! 다시 한번 감사드립니다 Tenfour04! – user2774429