2013-03-04 5 views
0

최근에 Awesomium을 OpenGL 응용 프로그램에 구현했습니다. 텍스처에 Awesomium을로드 할 때 OpenGL은 텍스처를 표면에 그렸는지 아닌지에 관계없이 음영 프로세스에 포함합니다.OpenGL 셰이더가 텍스처를 무시합니다.

텍스처를 쉐이더로 처리하는 코드 줄을 추적하려고합니다. OpenGL에서 모든 텍스처에 액세스하거나 OpenGL에 텍스처를 무시하도록 지시하는 특정 함수가 있습니까?

업데이트 질감 블록

glBindTexture(GL_TEXTURE_2D, SkypeHUD); 
glTexImage2D(GL_TEXTURE_2D, 0, 4, AwesomiumW, AwesomiumH, 0, GL_BGRA, GL_UNSIGNED_BYTE, surface->buffer()); 

만들기 질감 블록

glBindTexture(GL_TEXTURE_2D, SkypeHUD); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); 
glBindTexture(GL_TEXTURE_2D, 0); 

는 짜임새없이 장면이로드되는 그리기 : http://puu.sh/2bVUb

: 나는 질감을로드 한 후 http://puu.sh/2bVTV 장면을 그리기 당신은 다른 것들 위에 구글 텍스처를 블렌드하는 것을 볼 수 있습니다.

답변

0

텍스처 사용/사용 안 함은 셰이더 코드에 의해 제어되어야하며 일부 클라이언트 바인딩 상태는 제어되지 않아야합니다. 어쨌든, 당신은 가장 가능성이 몇 가지 질감 단위 (glActiveTexture); 텍스처 바인딩은 각 유닛마다 개별적이므로,이 루트로 이동하려면 다리 작업을하고 각 유닛의 텍스처를 바인딩 해제해야합니다.

+0

조언을 주셔서 감사합니다. 진전을 보이고 있습니다. D! – user2131737

관련 문제