Renderizado a un objetivo de renderizado 3D completo en una sola pasada

Usando DirectX 11, creé una textura de volumen 3D que puede vincularse como un objetivo de renderizado:

D3D11_TEXTURE3D_DESC texDesc3d;
// ...
texDesc3d.Usage     = D3D11_USAGE_DEFAULT;
texDesc3d.BindFlags = D3D11_BIND_RENDER_TARGET;

// Create volume texture and views
m_dxDevice->CreateTexture3D(&texDesc3d, nullptr, &m_tex3d);
m_dxDevice->CreateRenderTargetView(m_tex3d, nullptr, &m_tex3dRTView);

Ahora me gustaría actualizar todo el objetivo de renderizado y llenarlo con datos procesales generados en un sombreador de píxeles, similar a la actualización de un objetivo de renderizado 2D con un 'paso de pantalla completa'. Todo lo que necesito para generar los datos son las coordenadas UVW del píxel en cuestión.

Para 2D, se puede construir un sombreador de vértices simple que represente un triángulo de pantalla completa:

struct VS_OUTPUT
{
    float4 position : SV_Position;
    float2 uv: TexCoord;
};

// input: three empty vertices
VS_OUTPUT main( uint vertexID : SV_VertexID )
{
    VS_OUTPUT result;
    result.uv = float2((vertexID << 1) & 2, vertexID & 2);
    result.position = float4(result.uv * float2(2.0f, -2.0f) + float2(-1.0f, 1.0f), 0.0f, 1.0f);
    return result;
}

Me resulta difícil entender cómo adoptar este principio para 3D. ¿Es esto posible en DirectX 11, o tengo que renderizar a cortes individuales de la textura de volumen como se describe?aquí?

Respuestas a la pregunta(1)

Su respuesta a la pregunta