DirectX Graphics 레퍼런스 셰이더 레퍼런스 픽셀 셰이더 1_X 레지스터 - ps_1_X   [목차열람] [주소복사] [슬롯비우기]
레지스터 - ps_1_X
 
Microsoft DirectX 9.0

레지스터 - ps_1_X


픽셀 셰이더는, 정점 데이터를 취득해, 픽셀 데이터를 래스터라이저에 출력해, 계산중에 일시적인 결과를 저장 해, 텍스처 샘플링 스테이지를 식별하기 위해서, 레지스터를 사용한다. 레지스터에는 몇개의 종류가 있어, 종류 마다 고유의 기능이 있다. 여기에서는, 픽셀 셰이더 버전 1_X 가 처리 하는 입력 레지스터와 출력 레지스터에 대한 레퍼런스 정보를 기술한다.

레지스터는, 픽셀 셰이더가 사용하는 데이터를 보관 유지한다. 이러한 페이지에 대해서는, 이하로 설명한다.

레지스터 타입

버전
이름 타입 1_1 1_2 1_3 1_4
cn 정수 레지스터 8 8 8 8
rn 임시 레지스터 2 2 2 6
tn 텍스처 레지스터 4 4 4 6
vn 컬러 레지스터 2 2 2 국면 2 에서는 2

읽기 포트의 제한

읽기 포트의 제한에서는, 1 명령의 입력 레지스터로서 사용할 수 있는 레지스터 타입마다 레지스터의 수를 지정한다.

버전
이름 타입 1_1 1_2 1_3 1_4
cn 정수 레지스터 2 2 2 2
rn 임시 레지스터 2 2 2 3
tn 텍스처 레지스터 2 3 3 1
vn 컬러 레지스터 2 2 2 국면 2 에서는 2

예를 들어, 거의 모든 버전의 컬러 레지스터에는, 읽기 포트는 2 개라고 하는 제한이 있다. 즉, 1 개의 명령으로 최대 2 개까지가 다른 컬러 레지스터 (v0 및 v1 등)를 입력 레지스터로서 사용할 수 있는 것이다. 이 예에서는, 동일한 명령으로 2 개의 컬러 레지스터가 사용되고 있다.

읽기 전용, 읽고 쓰기

레지스터 타입은, 다음 표의 읽기 전용 (RO) 능력 또는 읽고 쓰기 (RW) 능력에 따라 식별된다. 읽기 전용 레지스터는, 명령의 입력 레지스터로서의 보고 사용할 수 있다. 출력 레지스터로서는 사용할 수 없다.

버전
이름 타입 1_1 1_2 1_3 1_4
cn 정수 레지스터 RO RO RO RO
rn 임시 레지스터 RW RW RW RW
tn 텍스처 레지스터 이하의 「주」참조 RW RW RW
vn 컬러 레지스터 RO RO RO RO

읽고 쓰기 가능한 레지스터는, 중간 결과의 저장에 사용할 수 있다. 이 레지스터에는, 몇개의 셰이더 버전의 임시 레지스터와 텍스처 레지스터가 포함된다.

  

범위

범위란, 레지스터 데이터의 최대치로 최소 값이다. 범위는, 레지스터의 타입에 따라서 다르다. 몇개의 레지스터의 범위는,GetDeviceCaps 를 사용해 장치의 능력으로부터 참조할 수 있다.

이름 타입 범위 버전
cn 정수 레지스터 -1 ~ +1 모든 버전
rn 임시 레지스터 - MaxPixelShaderValue ~ + MaxPixelShaderValue 모든 버전
tn 텍스처 레지스터 - MaxPixelShaderValue ~ + MaxPixelShaderValue 1_1 ~ 1_3
tn 텍스처 레지스터 - MaxTextureRepeat ~ + MaxTextureRepeat 1_4
vn 컬러 레지스터 1_4

초기의 픽셀 셰이더 하드웨어는, 레지스터내의 데이터를 고정 소수점수를 사용해 나타내고 있다. 이 때문에, 정밀도가 최대로 숫자의 소수부에 대응하는 약 8 비트에 제한되고 있다. 셰이더를 설계하는 경우는, 이 점에 주의 해야 한다.

픽셀 셰이더 버전 1_1 ~ 1_3 에서는, MaxTextureRepeat 는 1 이상이 아니면 안된다. 1_4 의 경우, MaxTextureRepeat 는 8 이상이 아니면 안된다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP