ue5
文章平均质量分 89
VT LI
VTL
展开
-
UE5-nanite数据流处理
入口:在DeferredShadingRenderer中的render,如果开启了nanite,会进行数据流的更新。核心入口是Nanite::GStreamingManager.BeginAsyncUpdate和Nanite::GStreamingManager.EndAsyncUpdate以及Nanite::GStreamingManager.SubmitFrameStreamingRequests。初始化:NaniteStreamingManager种对数据流的初始化执行InitRHI,原创 2022-05-13 00:19:41 · 1735 阅读 · 0 评论 -
ue5-Nanite运行时数据获取
nanite的执行起始:VisBuffer64是可视信息的纹理对象,在NaniteRender.cpp中的FRasterContext InitRasterContext,这里对RasterContext的对象初始化,其中的VisBuffer64就在这里创建的纹理。在LumenSceneRendering的nanite阶段会初始化。除了lumen的处理,在FDeferredShadingSceneRenderer::Render在开启了nanite后也会初始化FDeferred.原创 2022-04-16 16:37:01 · 3300 阅读 · 0 评论 -
UE5-Nanite构建
在MeshBuilderModule.cpp的FMeshBuilderModule::BuildMesh中执行到StaticMeshBuilder.cpp的BuildNanite会执行nanite的构建NaniteBuilderModule.Build执行到NaniteBuilder.cpp的FBuilderModule::Build分线程构建三角形首先从Sections中拿到材质索引设置到MaterialIndices中。执行BuildNaniteData,根据三角形的数据执行C.原创 2022-04-10 23:10:25 · 3051 阅读 · 0 评论 -
ue5-预计算可视性体积(PVS)
构建pvsFStaticLightingSystem::BeginLightmassProcess在lightmass的构建过程中,如果设置了pvs的构建则会一起构建。执行InitiateLightmassProcessor,然后在里面执行LightmassProcessor->InitiateExport在里面如果选择了生成pvs则会创建FGuid::NewGuid然后执行Exporter->WriteToChannel(Statistics, DebugMappin.原创 2022-04-04 02:30:55 · 2152 阅读 · 0 评论 -
ue5-Nanite网格体的渲染方式
Nanite网格体的computeshader处理渲染nanite的网格体是在FDeferredShadingSceneRenderer::Render的阶段执行NaniteRender.cpp的AddVisualizationPasses中执行FNaniteVisualizeCSFNaniteVisualizeCS会执行到/Engine/Private/Nanite/Visualize.usf的VisualizeCScomputeshader解析三角形信息VisualizeCS里首先会原创 2022-03-26 17:29:00 · 1375 阅读 · 0 评论 -
ue5-屏幕空间反射SSR
在FDeferredShadingSceneRenderer::Render中如果是bRenderDeferredLighting,也就是渲染延迟光照,则可以执行RenderDeferredReflectionsAndSkyLighting。在IndirectLightRendering.cpp的RenderDeferredReflectionsAndSkyLighting中如果ViewPipelineState.ReflectionsMethod == EReflectionsMethod::SSR会原创 2022-03-03 23:40:38 · 2296 阅读 · 0 评论 -
ue5-lumen-RenderDiffuseIndirectAndAmbientOcclusion中对lumen的探针执行计算获取探针的光照来叠加
lumen在渲染的时候会走几个步骤:第一是BeginUpdateLumenSceneTasks对场景的距离场体素重建第二是UpdateLumenScene更新lumen的场景以及包括用nanite提出并且上传lumen的card第三是RenderLumenSceneLighting获取lumen光照的直接光与间接光第四是RenderLumenSceneVisualization可视化探针的获取与设置,体素步进与辐射度设置。第五是RenderDiffuseIndirectAndAmbien原创 2022-03-01 20:54:00 · 1058 阅读 · 0 评论 -
ue5-lumen的光照探针数据收集RenderLumenSceneVisualization
lumen在渲染的时候会走几个步骤:第一是BeginUpdateLumenSceneTasks对场景的距离场体素重建第二是UpdateLumenScene更新lumen的场景以及包括用nanite提出并且上传lumen的card第三是RenderLumenSceneLighting获取lumen光照的直接光与间接光第四是RenderLumenSceneVisualization可视化探针的获取与设置,体素步进与辐射度设置。第五是RenderDiffuseIndirectAndAmbien原创 2022-02-28 21:22:35 · 1020 阅读 · 0 评论 -
ue5-lumen的场景数据更新与写入UpdateLumenScene
lumen在渲染的时候会走几个步骤:第一是BeginUpdateLumenSceneTasks对场景的距离场体素重建第二是UpdateLumenScene更新lumen的场景以及包括用nanite提出并且上传lumen的card第三是RenderLumenSceneLighting获取lumen光照的直接光与间接光第四是RenderLumenSceneVisualization可视化探针的获取与设置,体素步进与辐射度设置。第五是RenderDiffuseIndirectAndAmbien原创 2022-02-28 21:15:04 · 890 阅读 · 0 评论 -
ue5-lumen的场景重建BeginUpdateLumenSceneTasks
lumen在渲染的时候会走几个步骤:第一是BeginUpdateLumenSceneTasks对场景的距离场体素重建第二是UpdateLumenScene更新lumen的场景以及包括用nanite提出并且上传lumen的card第三是RenderLumenSceneLighting获取lumen光照的直接光与间接光第四是RenderLumenSceneVisualization可视化探针的获取与设置,体素步进与辐射度设置。第五是RenderDiffuseIndirectAndAmbien原创 2022-02-28 21:06:46 · 1081 阅读 · 0 评论 -
UE5-lumen的光照计算RenderLumenSceneLighting
RenderLumenSceneLighting主要是lumen计算直接光与间接光的地方,主要通过体素以及有号距离场来计算光照效果。总体的步骤如下:1.初始化光照的uav,srv,buffer2.meshcard层面的剔除3.间接光照参数4.合并lumen场景光照需要的5.lumen直接光照计算6.合入漫反射信息,为后续间接光使用7.过滤颜色8.计算体素和有号距离场的间接光照可见对象9.计算lumen的半透明光照效果LumenSceneLighting.c原创 2022-02-21 01:40:48 · 2875 阅读 · 0 评论