как получить доступ к ID3D11DepthStencilView с нереального устройства движка с помощью C ++ - PullRequest
0 голосов
/ 30 апреля 2018

Я занимаюсь исследовательской работой на нереальном движке и получаю некоторые проблемы.

Я добился успеха в получении нереального движка устройства с использованием кода C ++.

Моя цель - получить ID3D11DepthStencilView от нереального устройства движка.

Я использую метод OMGetRenderTargets (), чтобы получить его, но метод всегда возвращает ноль.

Мой код: -

ENQUEUE_UNIQUE_RENDER_COMMAND_THREEPARAMETER(FGETDEVICE
                                          , void **, NATIVEDEVICE, &NativeDevice 
                                          , ID3D11RenderTargetView **, ppRenderTargetViews, &m_ppRenderTargetViews
                                          , ID3D11DepthStencilView **, ppDepthStencilView, &m_ppDepthStencilView
                                          , {
                                              if ((*NATIVEDEVICE) == NULL)
                                              {
                                                (*NATIVEDEVICE) = RHIGetNativeDevice();

                                                ID3D11DeviceContext* pDeviceContext = nullptr;

                                                ((ID3D11Device *)(*NATIVEDEVICE))->GetImmediateContext(&pDeviceContext);

                                                pDeviceContext->OMGetRenderTargets(1, &(*ppRenderTargetViews), &(*ppDepthStencilView));
                                              }
                                            });

Я хочу знать, делаю ли я что-то не так?

Также, если есть другой способ получить информацию о глубине нереальной сцены движка, поделитесь данными / ссылками / предложениями.

...