다음을 통해 공유


D3D_SHADER_VARIABLE_TYPE 열거형(d3dcommon.h)

셰이더 변수에 할당할 수 있는 다양한 데이터, 텍스처 및 버퍼 형식을 식별하는 값입니다.

참고

Direct3D 10을 사용하여 프로그래밍하는 경우 이 API에는 대신 D3D_시작하는 형식 별칭이 있습니다D3D10_. 이러한 Direct3D 10 형식 별칭은 , d3d10misc.hd3d10shader.hd3d10.h정의되어 있습니다.

Syntax

typedef enum _D3D_SHADER_VARIABLE_TYPE {
  D3D_SVT_VOID = 0,
  D3D_SVT_BOOL = 1,
  D3D_SVT_INT = 2,
  D3D_SVT_FLOAT = 3,
  D3D_SVT_STRING = 4,
  D3D_SVT_TEXTURE = 5,
  D3D_SVT_TEXTURE1D = 6,
  D3D_SVT_TEXTURE2D = 7,
  D3D_SVT_TEXTURE3D = 8,
  D3D_SVT_TEXTURECUBE = 9,
  D3D_SVT_SAMPLER = 10,
  D3D_SVT_SAMPLER1D = 11,
  D3D_SVT_SAMPLER2D = 12,
  D3D_SVT_SAMPLER3D = 13,
  D3D_SVT_SAMPLERCUBE = 14,
  D3D_SVT_PIXELSHADER = 15,
  D3D_SVT_VERTEXSHADER = 16,
  D3D_SVT_PIXELFRAGMENT = 17,
  D3D_SVT_VERTEXFRAGMENT = 18,
  D3D_SVT_UINT = 19,
  D3D_SVT_UINT8 = 20,
  D3D_SVT_GEOMETRYSHADER = 21,
  D3D_SVT_RASTERIZER = 22,
  D3D_SVT_DEPTHSTENCIL = 23,
  D3D_SVT_BLEND = 24,
  D3D_SVT_BUFFER = 25,
  D3D_SVT_CBUFFER = 26,
  D3D_SVT_TBUFFER = 27,
  D3D_SVT_TEXTURE1DARRAY = 28,
  D3D_SVT_TEXTURE2DARRAY = 29,
  D3D_SVT_RENDERTARGETVIEW = 30,
  D3D_SVT_DEPTHSTENCILVIEW = 31,
  D3D_SVT_TEXTURE2DMS = 32,
  D3D_SVT_TEXTURE2DMSARRAY = 33,
  D3D_SVT_TEXTURECUBEARRAY = 34,
  D3D_SVT_HULLSHADER = 35,
  D3D_SVT_DOMAINSHADER = 36,
  D3D_SVT_INTERFACE_POINTER = 37,
  D3D_SVT_COMPUTESHADER = 38,
  D3D_SVT_DOUBLE = 39,
  D3D_SVT_RWTEXTURE1D = 40,
  D3D_SVT_RWTEXTURE1DARRAY = 41,
  D3D_SVT_RWTEXTURE2D = 42,
  D3D_SVT_RWTEXTURE2DARRAY = 43,
  D3D_SVT_RWTEXTURE3D = 44,
  D3D_SVT_RWBUFFER = 45,
  D3D_SVT_BYTEADDRESS_BUFFER = 46,
  D3D_SVT_RWBYTEADDRESS_BUFFER = 47,
  D3D_SVT_STRUCTURED_BUFFER = 48,
  D3D_SVT_RWSTRUCTURED_BUFFER = 49,
  D3D_SVT_APPEND_STRUCTURED_BUFFER = 50,
  D3D_SVT_CONSUME_STRUCTURED_BUFFER = 51,
  D3D_SVT_MIN8FLOAT = 52,
  D3D_SVT_MIN10FLOAT = 53,
  D3D_SVT_MIN16FLOAT = 54,
  D3D_SVT_MIN12INT = 55,
  D3D_SVT_MIN16INT = 56,
  D3D_SVT_MIN16UINT = 57,
  D3D_SVT_INT16,
  D3D_SVT_UINT16,
  D3D_SVT_FLOAT16,
  D3D_SVT_INT64,
  D3D_SVT_UINT64,
  D3D10_SVT_VOID,
  D3D10_SVT_BOOL,
  D3D10_SVT_INT,
  D3D10_SVT_FLOAT,
  D3D10_SVT_STRING,
  D3D10_SVT_TEXTURE,
  D3D10_SVT_TEXTURE1D,
  D3D10_SVT_TEXTURE2D,
  D3D10_SVT_TEXTURE3D,
  D3D10_SVT_TEXTURECUBE,
  D3D10_SVT_SAMPLER,
  D3D10_SVT_SAMPLER1D,
  D3D10_SVT_SAMPLER2D,
  D3D10_SVT_SAMPLER3D,
  D3D10_SVT_SAMPLERCUBE,
  D3D10_SVT_PIXELSHADER,
  D3D10_SVT_VERTEXSHADER,
  D3D10_SVT_PIXELFRAGMENT,
  D3D10_SVT_VERTEXFRAGMENT,
  D3D10_SVT_UINT,
  D3D10_SVT_UINT8,
  D3D10_SVT_GEOMETRYSHADER,
  D3D10_SVT_RASTERIZER,
  D3D10_SVT_DEPTHSTENCIL,
  D3D10_SVT_BLEND,
  D3D10_SVT_BUFFER,
  D3D10_SVT_CBUFFER,
  D3D10_SVT_TBUFFER,
  D3D10_SVT_TEXTURE1DARRAY,
  D3D10_SVT_TEXTURE2DARRAY,
  D3D10_SVT_RENDERTARGETVIEW,
  D3D10_SVT_DEPTHSTENCILVIEW,
  D3D10_SVT_TEXTURE2DMS,
  D3D10_SVT_TEXTURE2DMSARRAY,
  D3D10_SVT_TEXTURECUBEARRAY,
  D3D11_SVT_HULLSHADER,
  D3D11_SVT_DOMAINSHADER,
  D3D11_SVT_INTERFACE_POINTER,
  D3D11_SVT_COMPUTESHADER,
  D3D11_SVT_DOUBLE,
  D3D11_SVT_RWTEXTURE1D,
  D3D11_SVT_RWTEXTURE1DARRAY,
  D3D11_SVT_RWTEXTURE2D,
  D3D11_SVT_RWTEXTURE2DARRAY,
  D3D11_SVT_RWTEXTURE3D,
  D3D11_SVT_RWBUFFER,
  D3D11_SVT_BYTEADDRESS_BUFFER,
  D3D11_SVT_RWBYTEADDRESS_BUFFER,
  D3D11_SVT_STRUCTURED_BUFFER,
  D3D11_SVT_RWSTRUCTURED_BUFFER,
  D3D11_SVT_APPEND_STRUCTURED_BUFFER,
  D3D11_SVT_CONSUME_STRUCTURED_BUFFER,
  D3D_SVT_FORCE_DWORD = 0x7fffffff
} D3D_SHADER_VARIABLE_TYPE;

상수

 
D3D_SVT_VOID
값: 0
변수는 void 포인터입니다.
D3D_SVT_BOOL
값: 1
변수는 부울입니다.
D3D_SVT_INT
값: 2
변수는 정수입니다.
D3D_SVT_FLOAT
값: 3
변수는 부동 소수점 숫자입니다.
D3D_SVT_STRING
값: 4
변수는 문자열입니다.
D3D_SVT_TEXTURE
값: 5
변수는 텍스처입니다.
D3D_SVT_TEXTURE1D
값: 6
변수는 1D 텍스처입니다.
D3D_SVT_TEXTURE2D
값: 7
변수는 2D 텍스처입니다.
D3D_SVT_TEXTURE3D
값: 8
변수는 3D 텍스처입니다.
D3D_SVT_TEXTURECUBE
값: 9
변수는 텍스처 큐브입니다.
D3D_SVT_SAMPLER
값: 10
변수는 샘플러입니다.
D3D_SVT_SAMPLER1D
값: 11
변수는 1D 샘플러입니다.
D3D_SVT_SAMPLER2D
값: 12
변수는 2D 샘플러입니다.
D3D_SVT_SAMPLER3D
값: 13
변수는 3D 샘플러입니다.
D3D_SVT_SAMPLERCUBE
값: 14
변수는 큐브 샘플러입니다.
D3D_SVT_PIXELSHADER
값: 15
변수는 픽셀 셰이더입니다.
D3D_SVT_VERTEXSHADER
값: 16
변수는 꼭짓점 셰이더입니다.
D3D_SVT_PIXELFRAGMENT
값: 17
변수는 픽셀 조각입니다.
D3D_SVT_VERTEXFRAGMENT
값: 18
변수는 꼭짓점 조각입니다.
D3D_SVT_UINT
값: 19
변수는 부호 없는 정수입니다.
D3D_SVT_UINT8
값: 20
변수는 부호 없는 8비트 정수입니다.
D3D_SVT_GEOMETRYSHADER
값: 21
변수는 기하 도형 셰이더입니다.
D3D_SVT_RASTERIZER
값: 22
변수는 래스터라이저 상태 개체입니다.
D3D_SVT_DEPTHSTENCIL
값: 23
변수는 깊이 스텐실 상태 개체입니다.
D3D_SVT_BLEND
값: 24
변수는 혼합 상태 개체입니다.
D3D_SVT_BUFFER
값: 25
변수는 버퍼입니다.
D3D_SVT_CBUFFER
값: 26
변수는 상수 버퍼입니다.
D3D_SVT_TBUFFER
값: 27
변수는 텍스처 버퍼입니다.
D3D_SVT_TEXTURE1DARRAY
값: 28
변수는 1D 텍스처 배열입니다.
D3D_SVT_TEXTURE2DARRAY
값: 29
변수는 2D 텍스처 배열입니다.
D3D_SVT_RENDERTARGETVIEW
값: 30
변수는 렌더링 대상 보기입니다.
D3D_SVT_DEPTHSTENCILVIEW
값: 31
변수는 깊이 스텐실 뷰입니다.
D3D_SVT_TEXTURE2DMS
값: 32
변수는 2D 다중 샘플링 텍스처입니다.
D3D_SVT_TEXTURE2DMSARRAY
값: 33
변수는 2D 다중 샘플링 텍스처 배열입니다.
D3D_SVT_TEXTURECUBEARRAY
값: 34
변수는 텍스처 큐브 배열입니다.
D3D_SVT_HULLSHADER
값: 35
변수는 컴파일된 헐 셰이더 이진 파일을 보유합니다.
D3D_SVT_DOMAINSHADER
값: 36
변수는 컴파일된 도메인 셰이더 이진 파일을 보유합니다.
D3D_SVT_INTERFACE_POINTER
값: 37
변수는 인터페이스입니다.
D3D_SVT_COMPUTESHADER
값: 38
변수는 컴파일된 컴퓨팅 셰이더 이진 파일을 보유합니다.
D3D_SVT_DOUBLE
값: 39
변수는 배정밀도(64비트) 부동 소수점 숫자입니다.
D3D_SVT_RWTEXTURE1D
값: 40
변수는 1D 읽기 및 쓰기 텍스처입니다.
D3D_SVT_RWTEXTURE1DARRAY
값: 41
변수는 1D 읽기 및 쓰기 텍스처의 배열입니다.
D3D_SVT_RWTEXTURE2D
값: 42
변수는 2D 읽기 및 쓰기 텍스처입니다.
D3D_SVT_RWTEXTURE2DARRAY
값: 43
변수는 2D 읽기 및 쓰기 텍스처의 배열입니다.
D3D_SVT_RWTEXTURE3D
값: 44
변수는 3D 읽기 및 쓰기 텍스처입니다.
D3D_SVT_RWBUFFER
값: 45
변수는 읽기 및 쓰기 버퍼입니다.
D3D_SVT_BYTEADDRESS_BUFFER
값: 46
변수는 바이트 주소 버퍼입니다.
D3D_SVT_RWBYTEADDRESS_BUFFER
값: 47
변수는 읽기 및 쓰기 바이트 주소 버퍼입니다.
D3D_SVT_STRUCTURED_BUFFER
값: 48
변수는 구조화된 버퍼입니다.

구조적 버퍼에 대한 자세한 내용은 설명 섹션을 참조하세요 .
D3D_SVT_RWSTRUCTURED_BUFFER
값: 49
변수는 읽기 및 쓰기 구조화된 버퍼입니다.
D3D_SVT_APPEND_STRUCTURED_BUFFER
값: 50
변수는 추가 구조화된 버퍼입니다.
D3D_SVT_CONSUME_STRUCTURED_BUFFER
값: 51
변수는 소비 구조화된 버퍼입니다.
D3D_SVT_MIN8FLOAT
값: 52
변수는 8 바이트 FLOAT입니다.
D3D_SVT_MIN10FLOAT
값: 53
변수는 10 바이트 FLOAT입니다.
D3D_SVT_MIN16FLOAT
값: 54
변수는 16 바이트 FLOAT입니다.
D3D_SVT_MIN12INT
값: 55
변수는 12 바이트 INT입니다.
D3D_SVT_MIN16INT
값: 56
변수는 16 바이트 INT입니다.
D3D_SVT_MIN16UINT
값: 57
변수는 16 바이트 INT입니다.
D3D10_SVT_VOID
변수는 void 포인터입니다.
D3D10_SVT_BOOL
변수는 부울입니다.
D3D10_SVT_INT
변수는 정수입니다.
D3D10_SVT_FLOAT
변수는 부동 소수점 숫자입니다.
D3D10_SVT_STRING
변수는 문자열입니다.
D3D10_SVT_TEXTURE
변수는 텍스처입니다.
D3D10_SVT_TEXTURE1D
변수는 1D 텍스처입니다.
D3D10_SVT_TEXTURE2D
변수는 2D 텍스처입니다.
D3D10_SVT_TEXTURE3D
변수는 3D 텍스처입니다.
D3D10_SVT_TEXTURECUBE
변수는 텍스처 큐브입니다.
D3D10_SVT_SAMPLER
변수는 샘플러입니다.
D3D10_SVT_SAMPLER1D
변수는 1D 샘플러입니다.
D3D10_SVT_SAMPLER2D
변수는 2D 샘플러입니다.
D3D10_SVT_SAMPLER3D
변수는 3D 샘플러입니다.
D3D10_SVT_SAMPLERCUBE
변수는 큐브 샘플러입니다.
D3D10_SVT_PIXELSHADER
변수는 픽셀 셰이더입니다.
D3D10_SVT_VERTEXSHADER
변수는 꼭짓점 셰이더입니다.
D3D10_SVT_PIXELFRAGMENT
변수는 픽셀 조각입니다.
D3D10_SVT_VERTEXFRAGMENT
변수는 꼭짓점 조각입니다.
D3D10_SVT_UINT
변수는 부호 없는 정수입니다.
D3D10_SVT_UINT8
변수는 부호 없는 8비트 정수입니다.
D3D10_SVT_GEOMETRYSHADER
변수는 기하 도형 셰이더입니다.
D3D10_SVT_RASTERIZER
변수는 래스터라이저 상태 개체입니다.
D3D10_SVT_DEPTHSTENCIL
변수는 깊이 스텐실 상태 개체입니다.
D3D10_SVT_BLEND
변수는 혼합 상태 개체입니다.
D3D10_SVT_BUFFER
변수는 버퍼입니다.
D3D10_SVT_CBUFFER
변수는 상수 버퍼입니다.
D3D10_SVT_TBUFFER
변수는 텍스처 버퍼입니다.
D3D10_SVT_TEXTURE1DARRAY
변수는 1D 텍스처 배열입니다.
D3D10_SVT_TEXTURE2DARRAY
변수는 2D 텍스처 배열입니다.
D3D10_SVT_RENDERTARGETVIEW
변수는 렌더링 대상 보기입니다.
D3D10_SVT_DEPTHSTENCILVIEW
변수는 깊이 스텐실 보기입니다.
D3D10_SVT_TEXTURE2DMS
변수는 2D 다중 샘플링 텍스처입니다.
D3D10_SVT_TEXTURE2DMSARRAY
변수는 2D 다중 샘플링 텍스처 배열입니다.
D3D10_SVT_TEXTURECUBEARRAY
변수는 텍스처 큐브 배열입니다.
D3D11_SVT_HULLSHADER
변수는 컴파일된 헐 셰이더 이진 파일을 보유합니다.
D3D11_SVT_DOMAINSHADER
변수는 컴파일된 도메인 셰이더 이진 파일을 보유합니다.
D3D11_SVT_INTERFACE_POINTER
변수는 인터페이스입니다.
D3D11_SVT_COMPUTESHADER
변수는 컴파일된 컴퓨팅 셰이더 이진 파일을 보유합니다.
D3D11_SVT_DOUBLE
변수는 배정밀도(64비트) 부동 소수점 숫자입니다.
D3D11_SVT_RWTEXTURE1D
변수는 1D 읽기 및 쓰기 텍스처입니다.
D3D11_SVT_RWTEXTURE1DARRAY
변수는 1D 읽기 및 쓰기 텍스처의 배열입니다.
D3D11_SVT_RWTEXTURE2D
변수는 2D 읽기 및 쓰기 텍스처입니다.
D3D11_SVT_RWTEXTURE2DARRAY
변수는 2D 읽기 및 쓰기 텍스처의 배열입니다.
D3D11_SVT_RWTEXTURE3D
변수는 3D 읽기 및 쓰기 텍스처입니다.
D3D11_SVT_RWBUFFER
변수는 읽기 및 쓰기 버퍼입니다.
D3D11_SVT_BYTEADDRESS_BUFFER
변수는 바이트 주소 버퍼입니다.
D3D11_SVT_RWBYTEADDRESS_BUFFER
변수는 읽기 및 쓰기 바이트 주소 버퍼입니다.
D3D11_SVT_STRUCTURED_BUFFER
변수는 구조화된 버퍼입니다.
D3D11_SVT_RWSTRUCTURED_BUFFER
변수는 읽기 및 쓰기 구조화된 버퍼입니다.
D3D11_SVT_APPEND_STRUCTURED_BUFFER
변수는 추가 구조화된 버퍼입니다.
D3D11_SVT_CONSUME_STRUCTURED_BUFFER
변수는 소비 구조화된 버퍼입니다.
D3D_SVT_FORCE_DWORD
값: 0x7fffffff
이 값은 프로그래머가 사용하지 않습니다. 열거형이 32비트로 컴파일되도록 강제하기 위해 존재합니다.

설명

ID3D11ShaderReflectionType::GetDesc 메서드를 호출하면 D3D11_SHADER_TYPE_DESC 구조체의 Type 멤버에 D3D_SHADER_VARIABLE_TYPE 값이 반환됩니다.

구조화된 버퍼의 형식은 버퍼의 요소 구조를 설명합니다. 이러한 형식의 레이아웃은 일반적으로 C++ 구조체와 일치합니다. 다음 예제에서는 구조화된 버퍼를 보여 줍니다.

struct mystruct {float4 val; uint ind;}; RWStructuredBuffer<mystruct> rwbuf;
                                         RWStructuredBuffer<float3> rwbuf2;

요구 사항

요구 사항
헤더 d3dcommon.h

추가 정보

일반 버전 열거형