What are Unreal's limitations in rendering?

I understand this is an open ended question that could probably be discussed in detailed with a very broad answer. I don’t really have any specific questions about rendering though. I guess what I am trying to say is; is there anything unreal can’t render? Certain primitive types maybe, shaders or materials? Or should I just assume that whatever I can render in a general 3D modeling program (like Maya) could also be rendered in unreal?

It really depends on what you want to do. All engines struggle in some way with transparent objects. One of the biggest topics for game engines and rendering is how they handle lighting. Most engines have an option for pre-rendering the lighting to improve performance and quality, however that means that the lighting will not work as well with dynamic lights and objects. While they can have dynamic lighting rather than pre-rendered lighting it lacks effects like Global Illumination. Some dynamic GI solutions have been developed but usually they require too much power for it to work in a game so they aren’t used much.

Like many game engines, off the top of my head the biggest three limiting factors are volumetric rendering/simulations (clouds, water, smoke, fire simulations), realtime global illumination, and translucent materials. The first two aren’t really a thing in games just yet (or are too performance heavy to be worth consideration), and the last one is an ongoing battle that most engines still need to work on. When working with translucent materials in Unreal, you need to make choices that aren’t quite ideal, like picking between the material receiving only shadows -or- highlights but not both, as well as the various difficulties with layering translucency sometimes rendering in the wrong order. Shadows could also use a bit of work, right now you need to choose between accurate penumbras or shadows that update to match something like motion or distortion, ruling out things like distance field shadows for trees (side note for anyone at Epic, finding a way to get penumbras on CSM would be greatly appreciated :slight_smile: ).

Generally though, you can usually replicate anything you need to, provided you have the hardware for it. Primitive types like you mentioned aren’t ever an issue, since in both offline rendering engines and Unreal, everything’s triangulated at runtime regardless, and you can pretty reliably make most materials. There are edge cases like iridescent materials that are incredibly difficult to pull off, but that’s the case in most rendering engines anyway unless you fake it and hand paint the highlight color.

It is worth noting however, these aren’t really limitations in Unreal so much as realtime rendering as a whole. Not everything’s been worked out, it’s an ongoing process still.