D3D_SHADER_VARIABLE_TYPE 열거형(d3dcommon.h)
셰이더 변수에 할당할 수 있는 다양한 데이터, 텍스처 및 버퍼 형식을 식별하는 값입니다.
참고
Direct3D 10을 사용하여 프로그래밍하는 경우 이 API에는 대신 D3D_
시작하는 형식 별칭이 있습니다D3D10_
. 이러한 Direct3D 10 형식 별칭은 , d3d10misc.h
및 d3d10shader.h
에 d3d10.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 |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기