vault backup: 2024-12-08 13:54:43
This commit is contained in:
parent
bb25eca604
commit
06a428a49c
@ -1,6 +1,7 @@
|
|||||||
# 其他有价值的分享
|
# 其他有价值的分享
|
||||||
- 【[UFSH2024]《三角洲行动》,诠释新一代游戏开发方式 | 王理川 天美Y1工作室技术美术组负责人/专家】 https://www.bilibili.com/video/BV18F2oYAEp2/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
|
- 【[UFSH2024]《三角洲行动》,诠释新一代游戏开发方式 | 王理川 天美Y1工作室技术美术组负责人/专家】 https://www.bilibili.com/video/BV18F2oYAEp2/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
|
||||||
- TODO
|
- TODO
|
||||||
|
- [ ] [UFSH2024]用虚幻引擎5为《幻塔》定制高品质动画流程风格化渲染管线 | 晨风 Neverwind 完美世界游戏 https://www.bilibili.com/video/BV1rW2LYvEox/?spm_id_from=333.999.0.0&vd_source=d47c0bb42f9c72fd7d74562185cee290
|
||||||
- [x] 【[UFSH2024]虚幻引擎4移动端渲染管线改造总结分享 | 陈勇 成都西山居 引擎组组长】 https://www.bilibili.com/video/BV18F2oYAES8/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
|
- [x] 【[UFSH2024]虚幻引擎4移动端渲染管线改造总结分享 | 陈勇 成都西山居 引擎组组长】 https://www.bilibili.com/video/BV18F2oYAES8/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
|
||||||
- [ ] 【[UFSH2024]关于程序化生成,我们还能做什么? | 周杰 徐凯鸣 腾讯IEG Global】 https://www.bilibili.com/video/BV1MP2oYhE6h/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
|
- [ ] 【[UFSH2024]关于程序化生成,我们还能做什么? | 周杰 徐凯鸣 腾讯IEG Global】 https://www.bilibili.com/video/BV1MP2oYhE6h/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
|
||||||
- [ ] 【[UFSH2024]虚幻引擎5移动渲染管线扩展与优化 | 张锦 永航科技 引擎组负责人】 https://www.bilibili.com/video/BV1mP2oY8EBh/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
|
- [ ] 【[UFSH2024]虚幻引擎5移动渲染管线扩展与优化 | 张锦 永航科技 引擎组负责人】 https://www.bilibili.com/video/BV1mP2oY8EBh/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
|
||||||
|
@ -7,8 +7,71 @@ rating: ⭐
|
|||||||
---
|
---
|
||||||
# 阴影偏移
|
# 阴影偏移
|
||||||
可以考虑的Buffer有
|
可以考虑的Buffer有
|
||||||
- Depth
|
- ShadowDepths
|
||||||
- CustomDepth
|
- CustomDepth
|
||||||
|
|
||||||
|
## 相关Paas
|
||||||
|
1. ShadowDepths
|
||||||
|
|
||||||
|
|
||||||
|
# 其他
|
||||||
顺序:
|
顺序:
|
||||||
RenderCustomDepthPass
|
RenderCustomDepthPass
|
||||||
|
|
||||||
|
FSceneRenderer::CreateDynamicShadows
|
||||||
|
=>
|
||||||
|
FSceneRenderer::CreatePerObjectProjectedShadow
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```c++
|
||||||
|
if (!IsForwardShadingEnabled(ShaderPlatform))
|
||||||
|
{
|
||||||
|
// Dynamic shadows are synced later when using the deferred path to make more headroom for tasks.
|
||||||
|
FinishInitDynamicShadows(GraphBuilder, InitViewTaskDatas.DynamicShadows, InstanceCullingManager, ExternalAccessQueue);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```c++
|
||||||
|
if (RendererOutput == ERendererOutput::DepthPrepassOnly)
|
||||||
|
{
|
||||||
|
RenderOcclusionLambda();
|
||||||
|
|
||||||
|
if (bUpdateNaniteStreaming)
|
||||||
|
{
|
||||||
|
Nanite::GStreamingManager.SubmitFrameStreamingRequests(GraphBuilder);
|
||||||
|
}
|
||||||
|
|
||||||
|
CopySceneCaptureComponentToTarget(GraphBuilder, SceneTextures, ViewFamilyTexture, ViewFamily, Views);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GVRSImageManager.PrepareImageBasedVRS(GraphBuilder, ViewFamily, SceneTextures);
|
||||||
|
|
||||||
|
if (!IsForwardShadingEnabled(ShaderPlatform))
|
||||||
|
{
|
||||||
|
// Dynamic shadows are synced later when using the deferred path to make more headroom for tasks.
|
||||||
|
FinishInitDynamicShadows(GraphBuilder, InitViewTaskDatas.DynamicShadows, InstanceCullingManager, ExternalAccessQueue);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update groom only visible in shadow
|
||||||
|
if (IsHairStrandsEnabled(EHairStrandsShaderType::All, Scene->GetShaderPlatform()) && RendererOutput == ERendererOutput::FinalSceneColor)
|
||||||
|
{
|
||||||
|
UpdateHairStrandsBookmarkParameters(Scene, Views, HairStrandsBookmarkParameters);
|
||||||
|
|
||||||
|
// Interpolation for cards/meshes only visible in shadow needs to happen after the shadow jobs are completed
|
||||||
|
const bool bRunHairStrands = HairStrandsBookmarkParameters.HasInstances() && (Views.Num() > 0);
|
||||||
|
if (bRunHairStrands)
|
||||||
|
{
|
||||||
|
RunHairStrandsBookmark(GraphBuilder, EHairStrandsBookmark::ProcessCardsAndMeshesInterpolation_ShadowView, HairStrandsBookmarkParameters);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// NOTE: The ordering of the lights is used to select sub-sets for different purposes, e.g., those that support clustered deferred.
|
||||||
|
FSortedLightSetSceneInfo& SortedLightSet = *GraphBuilder.AllocObject<FSortedLightSetSceneInfo>();
|
||||||
|
{
|
||||||
|
RDG_CSV_STAT_EXCLUSIVE_SCOPE(GraphBuilder, SortLights);
|
||||||
|
RDG_GPU_STAT_SCOPE(GraphBuilder, SortLights);
|
||||||
|
ComputeLightGridOutput = GatherLightsAndComputeLightGrid(GraphBuilder, bComputeLightGrid, SortedLightSet);
|
||||||
|
}
|
||||||
|
```
|
Loading…
x
Reference in New Issue
Block a user