UE4:MSAA Texture2DArray 按切片绑定到渲染目标

问题描述 投票:0回答:0

Okey,看起来我是第一个在 UE4 源代码中使用 Create2DArray() func 的人,因为 Visual Code 没有找到任何引用。

我想创建带有 TexCreate_TargetArraySlicesIndependently 标志的 MSAA 纹理的 Texture2DArray,以便能够分别将数组的每个切片绑定为 RT。

所以,我写了这段代码:

FRDGTextureDesc Desc(FRDGTextureDesc::Create2DArray(SceneTextureExtent, PF_B8G8R8A8, FClearValueBinding::White, TexCreate_RenderTargetable | TexCreate_TargetArraySlicesIndependently | TexCreate_ShaderResource, ArraySize));

Desc.NumSamples = SceneDepthTexture->Desc.NumSamples;

Textures = CreateTextureMSAA(GraphBuilder, Desc, TEXT("MyTexture"), GFastVRamConfig.Texture);

但是当我尝试将 i-slice 绑定到 RT 时,我从 D3D11Resources.h 得到断言错误:

if (bCreatedRTVsPerSlice)
{
    check(ArraySliceIndex >= 0);
    ArrayIndex = MipIndex * RTVArraySize + ArraySliceIndex;
}
else 
{
    // Catch attempts to use a specific slice without having created the texture to support it
    check(ArraySliceIndex == -1 || ArraySliceIndex == 0); <- HERE
}

所以标志不起作用,不为每个切片创建 RTV?可能在 CreateTextureMSAA() 中出现问题。那么我需要使用哪个函数来创建 MSAA 纹理数组?

textures unreal-engine4 direct3d
© www.soinside.com 2019 - 2024. All rights reserved.