2009-12-23 3 views
0

: (는 OpenGL ES 다중 텍스처 알파 블렌딩이 아마 멍청한 놈 질문은, 그러나, 나는 적절한 답변 찾을 수 없어 질문

내가 OpenGL을 ES의 개체가이 사실 자외선 매핑 수출 블렌더 (Blender)에서) 그리고 두 개의 텍스처를 적용하고 싶습니다. 정확하게 말해서, 나는 지구와 같은 구체를 가지고 있으며 두 개의 텍스처 (하루와 밤의 측면)를 추가하고 싶습니다.

알파 맵핑을 통해 생각해 보았지만 프로그래밍 방식으로 하나의 텍스처를 페이드하고 런타임 동안 다른 텍스처를 표시하여 내 지구본이 지구의 현실적인 시뮬레이션이되도록해야합니다. 그 뒤에 수학이 있습니다. 즉, 객체의 각면에 대한 알파 맵을 만드는 것이 문제가되지 않습니다.

어떤 힌트/포인터를 얻을 수 있습니까?

감사

답변

5

당신의 OpenGL ES 1.1 texture combiners 달성 할 수 찾고있는 효과. 기본적으로 사용하는 텍스처 유닛은 이전 스테이지의 출력에 현재 텍스처의 색상을 곱하도록 설정됩니다. 첫 번째 텍스처 단위의 경우 이전 단계는 단순히 정점 색상입니다. 텍스처 결합 자 상태를 변경하면 텍스처 샘플을 더하거나 빼거나 보간 할 수 있습니다.

두 개의 텍스처를 보간하는 링크 된 페이지의 두 번째 및 세 번째 예제는 수행하려는 것과 매우 유사해야합니다. 두 예제의 소스 코드를 비교해 보면 GL_SRC2_RGB/GL_SRC2_ALPHAGL_OPERAND2_RGB/GL_OPERAND2_ALPHA의 구성을 제외하고는 거의 동일하다는 것을 알 수 있습니다. 여기에서 지정해야 할 것은 두 텍스처의 혼합 요소를 생성하는 위치/방법에 따라 달라집니다. 예제에 나타나지 않은 을 GL_SRC2_*으로 지정하여 정점 색상을 소스로 지정할 수 있습니다.

(참고 :. 소프트웨어에서 OpenGL ES 2.0을 지원하지 않는 오래된 하드웨어에서 실행할 필요가 있다면 내가 대신 텍스처 컴의 GLSL을 사용하는 것이 좋습니다에 링크 된 페이지는이 불행하게도 옵션을 선택하지 않습니다.)