2012-12-26 3 views
0

많은 사이트와 LWJGL 자습서를보고 있는데 놀랍게도 투명 텍스처를 사용하는 프로그램을 만드는 방법을 설명하는 것이 많지 않다는 사실을 알고 놀랐습니다.자바 - LWJGL - transperent Texture

저는 김프를 사용하여 PNG 이미지의 배경에있는 흰색을 제거하고 투명 바둑판 모양으로 변합니다. 마녀가 잘 보이고 창 사진 뷰어에서 열면 괜찮습니다.

그러나 내 프로그램에 열 때 이미지 주위에 여전히 흰색 사각형이 있으므로 두 개의 불투명 이미지가 충돌 할 때 끔찍한 것처럼 보입니다.

2012 년까지 투명하지 않은 텍스처를 가진 게임은 매우 전문가답지 않게 보입니다.

이 문제를 해결해야 누군가가 올바른 방향으로 나를 가리키고 문제를 해결하는 방법을 설명 할 수 있습니다.

기억 : 저는 LWJGL과 OpenGL Texture 및 gimp에서 편집 된 PNG 이미지가있는 OpenGL TextureLoader를 사용하여 투명 배경을 가지고 있습니다.

답변

0

기본 파이프 라인을 사용하는 경우 glBlendFunction 사용 방법을 확인하십시오.

그래서 기본적으로 OpenGL에 여러 이미지를 알파 값으로 혼합하는 방법을 알려줍니다.

또한 glTexImage2D 호출을 사용하는 경우 원본 픽셀 형식이 GL_RGBA인지 확인하십시오. 그것은 지금은 그냥 작동한다

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 

: 당신의 초기화 코드에서

+0

이미지를 게임 루프에서 그리기 전에 glBlend()를 호출 할 것인가? 아니면 이것이 게임 루프 외부에 있어야합니까? – user1483552

0

사용이 코드 줄 당신은 OpenGL을 사용하도록 설정 한 후.

설명이 필요한 경우 : 이미지의 알파 채널과 그 아래의 이미지가 혼합되도록 OpenGL에 알리는 것입니다.