2011-12-20 3 views
0
  1. 이 방법의 사용 방법을 알고 싶었습니다. 그래서 저는 vert shader에 있습니다. va1에서 v1로 UV 좌표를 저장합니다. frag 쉐이더에서 v1에서 샘플링 할 수있는 보간 된 텍스처 좌표를 사용할 수 있습니다. 후드 아래에 의미와 같이 v1을 정규 좌표로 연결하는 연결이 있습니까?AGAL 및 변동 레지스터

  2. 프래그먼트가 삼각형마다 프래그먼트 셰이더에 푸시 되었습니까? 아니면 전체 메시의 형상 버텍스가 실행 되었습니까?

  3. 버텍스 쉐이더에서 내 모델 뷰를 버텍스의 위치로 곱한다고 가정 해 봅시다. 그런 다음 z-coord를 조각 쉐이더와 다른 것으로 공유하려고합니다. 변환 된 벡터의 z 코드를 v3에 저장합니다. 일단 조각 쉐이더에 들어가서 z 좌표에 대해 v3에 액세스하면이 좌표가 전달 된 z 좌표입니까, 아니면이 z 좌표가 중간에있는 관점 분할로 변경 될까요? 이 레지스터에 값을 저장할 때 설명 된 "보간"동작을 명확히하려는 경우에만 묻습니다.

답변

2
  1. 는 다양한 레지스터와 아무 의미가 없습니다. 다양한 레지스터에 전달되는 모든 내용이 보간되고 uv 또는 다른 것과 마찬가지로 법선에 대해 동일하게 작동합니다.

  2. 전체 메쉬가 먼저 버텍스 셰이더를 통해 변형 된 다음 프레 그먼트 셰이더가 실행됩니다. 하드웨어가 이것을 어떻게 처리하는지는 중요하지 않습니다.

  3. 좌표가 보간됩니다. 다양한 레지스터는 어떤 종류의 데이터를 보유하고 있는지 알지 못합니다. 자신의 관점에서 보았을 때 부동 소수점 숫자는 4 개뿐입니다. 가변 레지스터가 4 개의 컴포넌트를 보유하고 있기 때문에, 거기에 전체 정점 위치를 지정할 수 있습니다. 한 가지주의해야 할 점은 깊이를 다루는 일을하고 싶다면 w 요소를 원할 것입니다.