2017-12-25 21 views
3

WebGL reference card에는 벡터 구성 요소에 대한 설명서가 있습니다.벡터 컴포넌트에서 s, t, p, q의 의미는 무엇입니까?

{x, y, z, w}도 사용할 수있는 것처럼 보이지만 텍스처에서 읽을 때 {s, t, p, q}를 사용하는 것이 필수적인지 이해할 수 없습니다.

를 사용하여 질감이

은 {S, T, P, Q} 문자의 의미는 무엇입니까

을 좌표 대표 벡터를 접근? 읽을 수있는 코드를위한 컨벤션 문제 일 뿐이며, 내가 놓친 부분이 더 있습니다.

답변

4

WebGL Specification Vesion 1.0 참조 :

4.3 GLSL를 구축가

WebGL이 구현 만의 OpenGL ES 쉐이딩 언어, 버전 1.00을 준수 쉐이더에 동의해야 지원 ...

을 참조하십시오 OpenGL ES Shading Language 1.00 Specification :

5.5 벡터 구성 요소

벡터 또는 스칼라의 구성 요소 이름은 단일 문자로 표시됩니다. 표기법의 편의를 위해 위치, 색상 또는 텍스처 좌표 벡터의 일반적인 사용법에 따라 여러 문자가 각 구성 요소와 연결됩니다. 마침표 (.)가있는 변수 이름과 구성 요소 이름을 차례로 선택하여 개별 구성 요소를 선택할 수 있습니다. 지원

컴포넌트 이름은 :

  • {x, y, z, w} 유용한 점을 나타내는 벡터 또는 법선

    액세스 할 때
  • {r, g, b, a} 유용한 접근 할 때

  • {s, t, p, q} 유용한 색상을 나타내는 벡터를 액세스 할 때 텍스처 좌표를 나타내는 벡터

구성 요소 이름 x, r 및 은 벡터에서 동일한 (첫 번째) 구성 요소와 동의어입니다. OpenGL ES에서 텍스처 좌표 세트의 세 번째 구성 요소 인 rp으로 변경되어 r (빨간색)과 혼동하지 않도록주의하십시오. 이것은 vec4 v; 수단


v.stpq 정확히 v.xyzwv.rgba 또는 동일하다.


의 S는 t 명명은 계획 = R0 + S V + t W. (R 및 R0는 점이다 양식 R의 모든 점들의 집합으로 파라미터 적으로 설명 될 수 Plane (geometry)에서 유래 , V와 W는 벡터이고, s와 t는 실수입니다.

+2

완전성을 위해'v [0]','v [1]','v [2]','v [3]' vec4. – gman

+0

여러분의 시간을 내 주셔서 감사합니다. 인용 된 참고 문헌을 설명해 주시겠습니까? 예 :'r'은'red'의 약자로 s, t, p, q는 무엇입니까? 어떤 것에 대한 약자? 텍스처의 경우, p와 q는 항상 0이거나이 구성 요소 안에 원하는 것을 넣을 수 있습니다. 그래서 그것은 vec4와 그 밖의 아무것도 아닌 것입니까? – deblocker

+0

일반 텍스처 좌표에서 이름은 u, v 또는 s, t, r입니다. 이것은'TEXTURE_WRAP_R','TEXTURE_WRAP_S' 및'TEXTURE_WRAP_T'에 해당합니다. OpenGL ES에서 텍스처 좌표 세트의 세 번째 구성 요소 인 r이 r (빨간색의 경우)과 혼동되지 않도록 p로 이름이 바뀌 었습니다. 일반적으로 텍스처도 3 차원 일 수 있습니다. 왜 직교 좌표의 이름이 x, y, z입니까? 또한 [OpenGL의 문맥에서 "st"는 무엇을 의미합니까?] (https://computergraphics.stackexchange.com/questions/4537/what-does-st-mean-in-the-context-of-opengl) – Rabbid76