답변:
차이점은 시맨틱 입니다. 모든 GLSL 벡터를 사용하여 액세스 할 수 있습니다 x/y/z/w, r/g/b/a또는 s/t/p/q. 일반적인 용도는 다음과 같습니다.
xyzw대한 공간 좌표rgba색깔을 위해stpq대한 텍스처 좌표var[0]/var[1]/var[2]/var[3]될 수있는 경우 대신 사용할 수 있습니다.표현식을 foo.x = bar.q, 또는으로 혼합 할 수 있습니다 foo.xy = bar.gb + baz.st;. 주요 제한 사항은 스위 즐링은 같은 그룹의 문자를 통해서만 수행 할 수 있다는 것 입니다. foo.xya이다 무효 가 혼합 때문에 xy에서 xyzw와 a에서 rgba.
sampler2DShadowwith로 액세스 texture하면 p 좌표가 비교 값 임을 의미합니다 . sampler2DShadowwith로 액세스 textureProj하면 p 좌표가 비교 값이고 q 좌표가 다른 세 가지로 나뉘어집니다 ( 비교 전에 p 는 실제로 comparison * q). 그들은 본질적인 의미 가 없습니다 . 사용 방법에 따라 의미가 달라집니다.