hism问题
FHierarchicalStaticMeshSceneProxy::FillDynamicMeshElements(FMeshElementCollector &,const FFoliageElementParams &,const FFoliageRenderInstanceParams &) HierarchicalInstancedStaticMesh.cpp:1425 FHierarchicalStaticMeshSceneProxy::GetDynamicMeshElements(const TArray<FSceneView const *,TSizedDefaultAllocator<32> > &,const FSceneViewFamily &,unsigned int,FMeshElementCollector &) HierarchicalInstancedStaticMesh.cpp:1909 FProjectedShadowInfo::GatherDynamicMeshElementsArray(FViewInfo *,FSceneRenderer &,FGlobalDynamicIndexBuffer &,FGlobalDynamicVertexBuffer &,FGlobalDynamicReadBuffer &,const TArray<FPrimitiveSceneInfo const *,TMemStackAllocator<0> > &,const TArray<FSceneView const *,TSizedDefaultAllocator<32> > &,TArray<FMeshBatchAndRelevance,TMemStackAllocator<0> > &,int &) ShadowSetup.cpp:2090 FProjectedShadowInfo::GatherDynamicMeshElements(FSceneRenderer &,FVisibleLightInfo &,TArray<FSceneView const *,TSizedDefaultAllocator<32> > &,FGlobalDynamicIndexBuffer &,FGlobalDynamicVertexBuffer &,FGlobalDynamicReadBuffer &) ShadowSetup.cpp:2000 FSceneRenderer::GatherShadowDynamicMeshElements(FGlobalDynamicIndexBuffer &,FGlobalDynamicVertexBuffer &,FGlobalDynamicReadBuffer &) ShadowSetup.cpp:3525 FSceneRenderer::InitDynamicShadows(FRHICommandListImmediate &,FGlobalDynamicIndexBuffer &,FGlobalDynamicVertexBuffer &,FGlobalDynamicReadBuffer &) ShadowSetup.cpp:4971 FDeferredShadingSceneRenderer::InitViewsPossiblyAfterPrepass(FRHICommandListImmediate &,FILCUpdatePrimTaskData &) SceneVisibility.cpp:4505 FDeferredShadingSceneRenderer::InitViews(FRHICommandListImmediate &,Type,FILCUpdatePrimTaskData &) SceneVisibility.cpp:4402 FDeferredShadingSceneRenderer::Render(FRHICommandListImmediate &) DeferredShadingRenderer.cpp:1455 RenderViewFamily_RenderThread(FRHICommandListImmediate &,FSceneRenderer *) SceneRendering.cpp:3739 <lambda_83aa676af25f62e876425d334fdfc6e4>::operator()(FRHICommandListImmediate &) SceneRendering.cpp:4007 TEnqueueUniqueRenderCommandType<`FRendererModule::BeginRenderingViewFamily'::`43'::FDrawSceneCommandName,<lambda_83aa676af25f62e876425d334fdfc6e4> >::DoTask(Type,const TRefCountPtr<FGraphEvent> &) RenderingThread.h:183 TGraphTask<TEnqueueUniqueRenderCommandType<`FRendererModule::BeginRenderingViewFamily'::`43'::FDrawSceneCommandName,<lambda_83aa676af25f62e876425d334fdfc6e4> > >::ExecuteTask(TArray<FBaseGraphTask *,TSizedDefaultAllocator<32> > &,Type) TaskGraphInterfaces.h:886 FNamedTaskThread::ProcessTasksNamedThread(int,bool) TaskGraph.cpp:710 FNamedTaskThread::ProcessTasksUntilQuit(int) TaskGraph.cpp:601 FTaskGraphImplementation::ProcessThreadUntilRequestReturn(Type) TaskGraph.cpp:1480 RenderingThreadMain(FEvent *) RenderingThread.cpp:372 FRenderingThread::Run() RenderingThread.cpp:526 FRunnableThreadWin::Run() WindowsRunnableThread.cpp:84 FRunnableThreadWin::GuardedRun() WindowsRunnableThread.cpp:27 FRunnableThreadWin::_ThreadProc(void *) WindowsRunnableThread.h:37 <unknown> 0x00007ffd87e45590 <unknown> 0x00007ffd88e2485b
RunArray有俩值:0,58
deferredRendering里,RunArray有4个值,cuRunArray还是俩值
FHierarchicalStaticMeshSceneProxy::FillDynamicMeshElements(FMeshElementCollector &,const FFoliageElementParams &,const FFoliageRenderInstanceParams &) HierarchicalInstancedStaticMesh.cpp:1425 FHierarchicalStaticMeshSceneProxy::GetDynamicMeshElements(const TArray<FSceneView const *,TSizedDefaultAllocator<32> > &,const FSceneViewFamily &,unsigned int,FMeshElementCollector &) HierarchicalInstancedStaticMesh.cpp:1909 FSceneRenderer::GatherDynamicMeshElements(TArray<FViewInfo,TSizedDefaultAllocator<32> > &,const FScene *,const FSceneViewFamily &,FGlobalDynamicIndexBuffer &,FGlobalDynamicVertexBuffer &,FGlobalDynamicReadBuffer &,const TArray<unsigned char,TMemStackAllocator<0> > &,const TArray<unsigned char,TMemStackAllocator<0> > &,FMeshElementCollector &) SceneVisibility.cpp:2926 FSceneRenderer::ComputeViewVisibility(FRHICommandListImmediate &,Type,TArray<FViewCommands,TInlineAllocator<4,TSizedDefaultAllocator<32> > > &,FGlobalDynamicIndexBuffer &,FGlobalDynamicVertexBuffer &,FGlobalDynamicReadBuffer &) SceneVisibility.cpp:4110 FDeferredShadingSceneRenderer::InitViews(FRHICommandListImmediate &,Type,FILCUpdatePrimTaskData &) SceneVisibility.cpp:4369 FDeferredShadingSceneRenderer::Render(FRHICommandListImmediate &) DeferredShadingRenderer.cpp:1455 RenderViewFamily_RenderThread(FRHICommandListImmediate &,FSceneRenderer *) SceneRendering.cpp:3739 <lambda_83aa676af25f62e876425d334fdfc6e4>::operator()(FRHICommandListImmediate &) SceneRendering.cpp:4007 TEnqueueUniqueRenderCommandType<`FRendererModule::BeginRenderingViewFamily'::`43'::FDrawSceneCommandName,<lambda_83aa676af25f62e876425d334fdfc6e4> >::DoTask(Type,const TRefCountPtr<FGraphEvent> &) RenderingThread.h:183 TGraphTask<TEnqueueUniqueRenderCommandType<`FRendererModule::BeginRenderingViewFamily'::`43'::FDrawSceneCommandName,<lambda_83aa676af25f62e876425d334fdfc6e4> > >::ExecuteTask(TArray<FBaseGraphTask *,TSizedDefaultAllocator<32> > &,Type) TaskGraphInterfaces.h:886 FNamedTaskThread::ProcessTasksNamedThread(int,bool) TaskGraph.cpp:710 FNamedTaskThread::ProcessTasksUntilQuit(int) TaskGraph.cpp:601 FTaskGraphImplementation::ProcessThreadUntilRequestReturn(Type) TaskGraph.cpp:1480 RenderingThreadMain(FEvent *) RenderingThread.cpp:372 FRenderingThread::Run() RenderingThread.cpp:526 FRunnableThreadWin::Run() WindowsRunnableThread.cpp:84 FRunnableThreadWin::GuardedRun() WindowsRunnableThread.cpp:27 FRunnableThreadWin::_ThreadProc(void *) WindowsRunnableThread.h:37 <unknown> 0x00007ffd87e45590 <unknown> 0x00007ffd88e2485b
这俩pass的RunArray数目不一致,导致CurRunArray一直跟当前的RunArray不一样(shadow的pass和sceneRendere的交替赋给curRunArray),一直要重建。
看夜景这俩地方调用
FHierarchicalStaticMeshSceneProxy::GetDynamicMeshElements
是否可以传个参数进去?