I am new to UE4 and I noticed that a lot of folks make outdoor levels by stacking up several models, forming cliffs and rock formations.
When doing so, meshes overlap/intersect, creating a lot of overdraw.
I wonder if UE4 somehow culls these occluded triangles and overdraw doesn’t happen. Alternatively maybe overdraw does happen and for performance reasons we shouldn’t rely on such kitbashing, so to speak, and build models that don’t have too many overlapping triangles in 3D app before bringing final mesh into UE4.
Transparent surfaces is just one example of overdraw. If you have 10 opaque surfaces one after another (partially occluding each other), the occluded area of all 10 will be rendered. The larger the overlap, the more surfaces are behind directly visible surface, the higher the fill rate. In any engine AFAIK.
UE4 / Unity (maybe CryEngine, don’t recall) are the only engines where I see people building scenes using kitbashing. I’ve never seen a tutorial / video where tutoring developer explains what you just wrote - build a scene using kitbashing, and then come back and turn kitbashed object into a single surface object to reduce overdraw. Thus I was wondering if UE4 has some tricks to make kitbashing to be a norm and eliminate that step in having single surface objects for performance reasons.
How do you turn kitbashed object into single surface object? Does UE4 have some boolean-like tool or do you have to go back to 3D app and optimize it there ?
I think your wrong about that… overdraw has always been transparency related for the most part. opaque meshes dont re render pixels. they may render all of hte polys… but the pixel on an area on the screen only gets rendered once if its a solid non transparent object… stacking transparent objects on the other hand the engine has to re render everything below to get that pixel… You have to think in the realm of pixels and not so much geometry. It has no need to render pixels from other solid objects… transparency is the only thing that needs whats behind it… to render correct.
Back to what actual overdraw is - here is Oculus Connect 2 recording http://www.twitch.tv/oculus/v/17538854 and Michael Abrash doing keynote. At 2 hr 02 min he talks about Quake and overdraw.