2012-07-26 3 views
6

다음과 같이 gl_TexCoord를 사용하는 OpenGL 쉐이더가 있습니다. 그러나 OpenGL ES에서는 gl_TexCoord가 지원되지 않습니다. OpenGL ES에서 작동하도록 코드를 리팩터링하려면 어떻게해야할까요?OpenGL ES 2.0의 gl_TexCoord에 해당하는 부분

void main() 
{ 
    //scene depth calculation 
    float depth = linearize(texture2D(inputImageTexture2,gl_TexCoord[0].xy).x); 
    if (depthblur) 
    { 
     depth = linearize(bdepth(gl_TexCoord[0].xy)); 
    } 

    ... 
} 

답변

6

하나도 존재하지 않습니다. 버텍스 쉐이더에서 사용자 정의 된 varying을 수동으로 처리합니다. 어쨌든 그게 전부입니다. 조각 셰이더가 가져온 정점 별 출력.

+0

입니다. gl_TexCoord [0]과 gl_TexCoord [3]의 차이점은 무엇입니까? 그것을 이해하기 위해 참조 할 수있는 모든 문서/문서? – tom

+0

@tom : * 배열 *입니다. 이것이 대부분의 언어에서'[]'구문이 의미하는 것입니다. –

+0

물론입니다. 나는 gl_TexCoord [0]와 gl_TexCoord [3]가 무엇인지 이해하려고 노력하고있었습니다. 내가 상속 한 코드에서 gl_TexCoord [0]과 gl_TexCoord [3]을 참조했으나 gl_TexCoord [1]과 gl_TexCoord [2]가 없으므로 그 이유를 궁금해했습니다. 어떤 제안? – tom