3 ms·
Outlines are high on the list of “it should be easy but it’s not”. I’ve explained this many times to art and design directors and there is always the starement
by hesdeadjim 5y ago
Outlines are high on the list of “it should be easy but it’s not”.
I’ve explained this many times to art and design directors and there is always the starement of “but this game did it”! To which my response is, this game is on PS4 not mobile, or it required a lot of asset pipeline customization, and/or hand authoring. Of course it can be done, but it may come at the significant expense of other systems.
- wolverine876 5y agoWhy are outlines so expensive? The article assumes we all know.
- thom 5y agoYeah, I also have no intuition about this and fail to grasp the problem. When the author talked of rendering a slightly larger mesh to a white texture I just assumed that was it, but apparently not. I assume much of the complexity is to do with where in the pipeline this issue is being handled (i.e. just in shaders).
- bastawhiz 5y agoOversimplification, but the high-level problem is that you have a 3D object, with overlapping bits, holes, thin jutting edges, and other unusual geometry. The outline is behind that shape (and usually, only that shape), but the outline is a "flat" 2D shape. As the images with the black outline show near the top of the article, scaling up the component parts and drawing them as black don't achieve a good effect. The "correct" approach is to find each opaque bit of the 3D object you're outlining and draw opaque outline pixels within a radius of the outline width around it. This is slow, however, since you're essentially operating per-pixel. To achieve reasonable performance, there's a good amount of optimizing that needs to happen.