구문
멤버
Transform3x4형식: D3D12_GPU_VIRTUAL_ADDRESS 가속 구조 빌드 중에 VertexBuffer의 정점에 적용될 행 우선 레이아웃의 3x4 아핀 변환 행렬 주소입니다. VertexBuffer의 내용은 수정되지 않습니다. 2D 정점 형식을 사용하는 경우 세 번째 정점 구성 요소가 0이라고 가정하여 변환이 적용됩니다. Transform3x4가 NULL이면 정점이 변환되지 않습니다. Transform3x4를 사용하면 가속 구조 빌드에 대한 계산 및/또는 메모리 요구 사항이 증가할 수 있습니다. 가리키는 메모리는 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE 상태여야 합니다. 주소는 D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT로 정의된 16바이트로 정렬되어야 합니다. IndexFormat
형식: DXGI_FORMAT IndexBuffer의 인덱스 형식입니다. 다음 중 하나여야 합니다.
- DXGI_FORMAT_UNKNOWN - IndexBuffer가 NULL일 때
- DXGI_FORMAT_R32_UINT
- DXGI_FORMAT_R16_UINT
형식: DXGI_FORMAT VertexBuffer의 정점 형식입니다. 다음 중 하나여야 합니다.
- DXGI_FORMAT_R32G32_FLOAT - 세 번째 구성 요소는 0으로 간주됩니다
- DXGI_FORMAT_R32G32B32_FLOAT
- DXGI_FORMAT_R16G16_FLOAT - 세 번째 구성 요소는 0으로 간주됩니다
- DXGI_FORMAT_R16G16B16A16_FLOAT - A16 구성 요소는 무시되며, 정점 스트라이드를 6바이트로 설정하는 등 다른 데이터를 여기에 패킹할 수 있습니다.
- DXGI_FORMAT_R16G16_SNORM - 세 번째 구성 요소는 0으로 간주됩니다
- DXGI_FORMAT_R16G16B16A16_SNORM - A16 구성 요소는 무시되며, 정점 스트라이드를 6바이트로 설정하는 등 다른 데이터를 여기에 패킹할 수 있습니다.
- DXGI_FORMAT_R16G16B16A16_UNORM - A16 구성 요소는 무시되며, 정점 스트라이드를 6바이트로 설정하는 등 다른 데이터를 여기에 패킹할 수 있습니다
- DXGI_FORMAT_R16G16_UNORM - 세 번째 구성 요소는 0으로 간주됩니다
- DXGI_FORMAT_R10G10B10A2_UNORM - A2 구성 요소는 무시되며, 스트라이드는 4바이트여야 합니다
- DXGI_FORMAT_R8G8B8A8_UNORM - A8 구성 요소는 무시되며, 정점 스트라이드를 3바이트로 설정하는 등 다른 데이터를 여기에 패킹할 수 있습니다
- DXGI_FORMAT_R8G8_UNORM - 세 번째 구성 요소는 0으로 간주됩니다
- DXGI_FORMAT_R8G8B8A8_SNORM - A8 구성 요소는 무시되며, 정점 스트라이드를 3바이트로 설정하는 등 다른 데이터를 여기에 패킹할 수 있습니다
- DXGI_FORMAT_R8G8_SNORM - 세 번째 구성 요소는 0으로 간주됩니다
형식: UINT IndexBuffer의 인덱스 수입니다. IndexBuffer가 NULL이면 0이어야 합니다. VertexCount
형식: UINT VertexBuffer의 정점 수입니다. IndexBuffer
형식: D3D12_GPU_VIRTUAL_ADDRESS 정점 인덱스의 배열입니다. NULL이면 삼각형은 인덱싱되지 않습니다. 그래픽과 마찬가지로 주소는 IndexFormat의 크기로 정렬되어야 합니다. 가리키는 메모리는 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE 상태여야 합니다. 앱이 그래픽 입력 어셈블러와 레이트레이싱 가속 구조 빌드 입력 간에 인덱스 버퍼 입력을 공유하려는 경우, 리소스를 항상 읽기 상태의 조합에 동시에 넣을 수 있습니다(예: D3D12_RESOURCE_STATE_INDEX_BUFFER | D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE). VertexBuffer
형식: D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE 스트라이드를 포함하는 정점 배열입니다. 주소와 스트라이드의 정렬은 구성 요소 크기의 배수여야 하므로, 32비트 구성 요소가 있는 형식의 경우 4바이트, 16비트 구성 요소가 있는 형식의 경우 2바이트입니다. 그래픽과 달리, 값의 하위 32비트만 사용된다는 것 외에는 스트라이드에 대한 제약이 없습니다. 이 필드는 순전히 인접한 필드가 모든 곳에서 깨끗하고 명백하게 정렬되도록 하기 위해 UINT64입니다. 각 정점 위치는 스트라이드 범위의 시작 주소에 있을 것으로 예상되며, 초과 공간은 가속 구조 빌드에서 무시됩니다. 이 초과 공간은 정점 속성과 같은 다른 앱 데이터를 포함할 수 있으며, 앱은 셰이더에서 수동으로 가져와야 합니다. 이는 정점 버퍼에 인터리브되든 다른 곳에 있든 마찬가지입니다. 가리키는 메모리는 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE 상태여야 합니다. 앱이 그래픽 입력 어셈블러와 레이트레이싱 가속 구조 빌드 입력 간에 정점 버퍼 입력을 공유하려는 경우, 리소스를 항상 읽기 상태의 조합에 동시에 넣을 수 있습니다(예: D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER | D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE).
요구 사항
헤더: d3d12_xs.h라이브러리: d3d12_xs.lib
지원 플랫폼: XBOX Series 콘솔
