Maes
I like big butts!

Posts: 8664
Registered: 07-06 |
There are two kinds of tutti-frutti to consider here.
One is the kind due to imperfect texture tiling (e.g. a 127 px high texture will leave 1 line of tutti-frutti because of non-compliant height), even when you use otherwide legal "solid" textures on single-sided, solid walls.
The other is the kind you get when you use masked textures on impassable/solid walls: those get rendered distorted and out of shape (the algorithm used for rendering solid walls doesn't expect to deal with masked columns at all, so it treats them as if they have enough data to fill up several solid columns in a row, reading well beyond the texture and distorting their shape).
Now, I'm pretty sure that Boom fixed the first kind of tutti-frutti (due to non-aligned tiling) by introducing an extra dc_texheight rendering variable and checks in the rendering code, so now tutti-frutti due to tiling is a thing of the past.
The second kind can only be fixed in the way ZDoom (and now, even Mocha Doom, in the upcoming v1.5 release) does: requests to draw masked textures on solid walls are intercepted, and treated specially, by drawing specially "bulletproofed" versions of those textures (by caching them beforehand on a black background and making them non-masked). I'm not sure if Boom fixed this particular problem though.
Edit:
From a quick check between various source ports with R.WAD MAP01, here are the results:
- Chocolate Doom: exhibits both tiling and masked effects.
- PrBoom/PrBoom+: they fix tiling, but still exhibit masked effects (so it's not a Boom fix). The end result is different than Chocolate Doom because there are large solid grey areas on the pillars.
- ZDoom: fixes tiling, renders masked on black background.
- Any OpenGL port I could try: they fix tiling and render masked on a black or (the older ZDoomGL) on a transparent background.
I'm not sure if prBoom/prBoom+ actually try to emulate the crooked look of misrendered masked texture in a memory-safe way, or they just cheerfully let textures overflow. It looks weird when combined with tiling safeguard though, as if there's only half-a-bug present.
Last edited by Maes on 07-14-11 at 23:54
|