카테고리 없음

22년 11월 25일 개발노트

문종식[지마] 2022. 11. 25. 17:15

1. Lumen 최적화 작업 이어서 하기

어제 2.5ms정도 줄였던 Lumen관련 렌더소요시간을 좀 더 줄여보고자 한다.

https://www.youtube.com/watch?v=jwopXeKdkRI 

오늘은 이 영상을 참고해서 작업을 해보려고한다.

정리하자면 아래의 관련 커맨드들을 입력하게 된다.

이는 다른 곳에서 제안하는 커맨드와 동일한게 대부분이지만, 그 값은 다른게 많다. 일단 참고해두자.

 

Added console commands to one user's suggestion:

Virtual Shadow Maps:

r.Shadow.Virtual.ContactShadowLength - controls precision of contactShadows to the casting object. Set it to 0.01 for example, or lower.

r.Shadow.Virtual.ResolutionLodBias - controls smoothing of virtualShadows based on distance. Be careful to select the right option according to your light-type. 0 or negative values for wider smoothing range.

r.Shadow.Virtual.NormalBias - use this to fix virtual shadow artifacts which appear when the casting shadow is to close to casting object's surface. Set it to 1 or even higher values like 1.5. Default should be 0.5.

 

Lumen Reflections:

r.Lumen.Reflections.HierachicalScreenTraces.MaxIterations - reduce this to low values to get rid of unrealistic dark areas (shadows?) in lumen reflections. Set it to 4 for example.

r.Lumen.DiffuseIndirect.MaxMeshSDFTraceDistance - seems to control the distance to which distance field meshes are taken into account, affecting basically the mesh clarity/resolution range in lumen reflections.

 

Lumen Global Illumination:

r.Lumen.DiffuseIndirect.MinTraceDistance - increase this if you find nearby areas from light reflecting surfaces to be to dark (very subtle).

r.Lumen.ScreenProbeGather.MaxRayIntensity - values between 0 and 1. Controls the overall amount of indirect lighting intensity in the whole scene.

r.Lumen.ScreenProbeGather.FullResolutionJitterWidth - higher values mean less jittering (it gets wider) but more visible noise from the indirect lighting. 1 should be default.

r.Lumen.ScreenProbeGather.DownsampleFactor - lower values mean more probes are used to collect light for the scene, which increases overall lighting precision/quality and reduces noise, but for a high cost in performance, default is 16 and should only be changed if absolutely necessary.

r.Lumen.ScreenProbeGather.SpatialFilterMaxRadianceHitAngle - gives some control over ambient occlusion (in my opinion, but I don't really know, what it does). Higher values for sharper and (I find more precise looking) ambient occlusion. I suggest to think in degrees from 0 to 90.

r.Lumen.ScreenProbeGather.SpatialFilterNumPasses - how good the jittering is filtered, higher values give smoother lighting results.

 

일단 루멘은 이 정도 까지 하고, 내일은 2ms정도 소요되는 Basepass에 대해서 알아보자.