Sintaxis
Miembros
Transform3x4Tipo: D3D12_GPU_VIRTUAL_ADDRESS Dirección de una matriz de transformación afín de 3x4 con diseño por filas (row-major) que se aplicará a los vértices de VertexBuffer durante una compilación de estructura de aceleración. El contenido de VertexBuffer no se modifica. Si se usa un formato de vértice 2D, la transformación se aplica suponiendo que el tercer componente del vértice es cero. Si Transform3x4 es NULL, los vértices no se transformarán. Usar Transform3x4 puede dar lugar a un aumento de los requisitos de proceso o de memoria para la compilación de la estructura de aceleración. La memoria a la que se apunta debe estar en el estado D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. La dirección debe estar alineada a 16 bytes, definido como D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT. IndexFormat
Tipo: DXGI_FORMAT Formato de los índices de IndexBuffer. Debe ser uno de los siguientes:
- DXGI_FORMAT_UNKNOWN - cuando IndexBuffer es NULL
- DXGI_FORMAT_R32_UINT
- DXGI_FORMAT_R16_UINT
Tipo: DXGI_FORMAT Formato de los vértices de VertexBuffer. Debe ser uno de los siguientes:
- DXGI_FORMAT_R32G32_FLOAT - se supone que el tercer componente es 0
- DXGI_FORMAT_R32G32B32_FLOAT
- DXGI_FORMAT_R16G16_FLOAT - se supone que el tercer componente es 0
- DXGI_FORMAT_R16G16B16A16_FLOAT - el componente A16 se omite; ahí pueden empaquetarse otros datos, por ejemplo, estableciendo el intervalo de vértice en 6 bytes.
- DXGI_FORMAT_R16G16_SNORM - se supone que el tercer componente es 0
- DXGI_FORMAT_R16G16B16A16_SNORM - el componente A16 se omite; ahí pueden empaquetarse otros datos, por ejemplo, estableciendo el intervalo de vértice en 6 bytes.
- DXGI_FORMAT_R16G16B16A16_UNORM - el componente A16 se omite; ahí pueden empaquetarse otros datos, por ejemplo, estableciendo el intervalo de vértice en 6 bytes
- DXGI_FORMAT_R16G16_UNORM - se supone que el tercer componente es 0
- DXGI_FORMAT_R10G10B10A2_UNORM - el componente A2 se omite; el intervalo debe ser de 4 bytes
- DXGI_FORMAT_R8G8B8A8_UNORM - el componente A8 se omite; ahí pueden empaquetarse otros datos, por ejemplo, estableciendo el intervalo de vértice en 3 bytes
- DXGI_FORMAT_R8G8_UNORM - se supone que el tercer componente es 0
- DXGI_FORMAT_R8G8B8A8_SNORM - el componente A8 se omite; ahí pueden empaquetarse otros datos, por ejemplo, estableciendo el intervalo de vértice en 3 bytes
- DXGI_FORMAT_R8G8_SNORM - se supone que el tercer componente es 0
Tipo: UINT Número de índices de IndexBuffer. Debe ser 0 si IndexBuffer es NULL. VertexCount
Tipo: UINT Número de vértices de VertexBuffer. IndexBuffer
Tipo: D3D12_GPU_VIRTUAL_ADDRESS Matriz de índices de vértices. Si es NULL, los triángulos no están indexados. Al igual que con los gráficos, la dirección debe estar alineada al tamaño de IndexFormat. La memoria a la que se apunta debe estar en el estado D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. Tenga en cuenta que, si una aplicación desea compartir entradas de búfer de índices entre el ensamblador de entrada de gráficos y la entrada de compilación de la estructura de aceleración de trazado de rayos, siempre puede colocar un recurso en una combinación de estados de lectura simultáneamente, por ejemplo, D3D12_RESOURCE_STATE_INDEX_BUFFER | D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. VertexBuffer
Tipo: D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE Matriz de vértices que incluye un intervalo. La alineación de la dirección y del intervalo debe ser un múltiplo del tamaño del componente, es decir, 4 bytes para formatos con componentes de 32 bits y 2 bytes para formatos con componentes de 16 bits. A diferencia de los gráficos, no hay restricciones en el intervalo, aparte de que solo se usan los 32 bits inferiores del valor: el campo es UINT64 únicamente para que los campos vecinos se alineen de forma limpia y evidente en todas partes. Se espera que cada posición de vértice esté en la dirección inicial del intervalo, y las compilaciones de la estructura de aceleración omiten cualquier espacio sobrante. Este espacio sobrante puede contener otros datos de la aplicación, como atributos de vértice, que la aplicación es responsable de capturar manualmente en los sombreadores, ya sea que estén intercalados en búferes de vértices o en otro lugar. La memoria a la que se apunta debe estar en el estado D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. Tenga en cuenta que, si una aplicación desea compartir entradas de búfer de vértices entre el ensamblador de entrada de gráficos y la entrada de compilación de la estructura de aceleración de trazado de rayos, siempre puede colocar un recurso en una combinación de estados de lectura simultáneamente, por ejemplo, D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER | D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE
Requisitos
Encabezado: d3d12_xs.hBiblioteca: d3d12_xs.lib
Plataformas compatibles: consolas XBOX Series
