Probably a few people in my boat, considering ditching competition and moving over to Unreal and therefore I have some “How can I do that questions.” - I’ve been looking in the editor and googling but thought I would come out with the question(s) and see if anyone can advise.
I am currently a unity dev with a custom lighting model. The following things are true for this model:
I calculate nearest lights for a given area using a compute shader sharing structured buffers
I have a point light in my scene but all it is doing is casting shadows, which…
I can sample the shadow map(s) for in my shaders, where I apply my own lighting based on the recently computed lighting grid.
Do if I were to come over to Unreal, how might I go about this? Would I be able to access shadow maps from within an unlit shader/material?
Would I need to render my point light shadows myself?
Forgetting custom lighting, how many concurrent lights per object and concurrently active in the scenre does Unreal support?
Although I’m not a graphics programmer, as a general unreal user, I unfortunately have to say that UE is generally a fair bit less flexible with custom pipelines than Unity. Not inflexible, but the general expecation (as far as I’ve seen/heard) is that you use UE’s pipeline as far as you can, and program when you need extra/novel behavior.
I couldn’t tell you how exactly custom lighting models would work, but I think you’ll have a fair bit of work to do compared to unity.
Concurrent lights I thought I heard 4096, but to clarify: by lighting do you mean N.L, or do you mean concurrent shadowcasting lights?
As this is a deferred renderer, I’m not quite sure what ‘lights per object’ means in the sense you use it, but I am happy to provide any information I can.
Side note: although this is almost certainly not what you’re looking for, Nvidia’s branch of unreal engine has a custom ray-traced direct lighting solution that technically supports several million concurrent shadowcasting lights.