This will be useful for the (upcoming) RenderCaptureMapEvaluator as it allows a pointer to the FMeshMapEvaluator base class to be statically cast to the right type even though that Evaluator must be a template class. Without this method we can't cast the base class pointer since we don't know the template parameter, but we want the template so that EvaluateSample can be branch free which is desirable since its called in hot loops
#rb lonnie.li
#rnx
#jira none
#preflight 629f2e39f73a9b013d9e9eb0
[CL 20538179 by matija kecman in ue5-main branch]
Benchmark configuration:
- Test scene with 4 meshes: a mossy stone nanite mesh, a beach ball, a ball with an emissive blue cross and a hut mesh
- Target mesh: 11.8k triangles mesh, created by voxel wrapping the meshes in the test scene elements
- 4096x4096 output texture with 16x multisampling baking BaseColor, Emissive, PackedMRS and Normal maps
- 4096x4096 photo capture resolution
Unreal Insights reports the following times for the Bake call:
- Before this change: 2 mins 45 seconds
- After this change: 55.9 seconds
Aside: (Unaffected by this change) In both cases the photo capture, which is done on the game thread, took about 1 min
#jira none
#rb
#rnx
#preflight 627e64e01748fbc85bb24a42
[CL 20221383 by matija kecman in ue5-main branch]
This change means that if an overwrite mode evaluator (e.g., one computing Material IDs) used a default value for a given sample then all the add mode evaluators will have only added contributions from the evaluator default value for that sample too.
#rb lonnie.li
#rnx
#jira none
#preflight 625ed97b034d8924cdcc230f
[CL 19810706 by matija kecman in ue5-main branch]
#jira UE-122078
#rb Andrew.Davidson, Colin.McGinley
#preflight standard build
#ROBOMERGE-AUTHOR: fred.kimberley
#ROBOMERGE-SOURCE: CL 18817999 in //UE5/Release-5.0/... via CL 18818012 via CL 18822871
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
[CL 18824721 by fred kimberley in ue5-main branch]