Skew wall textures (looking for solutions)

Remember, just because you request it, that doesn't mean you'll get it.

Moderator: GZDoom Developers

User avatar
Posts: 598
Joined: Sun Jul 31, 2016 2:43 pm

Skew wall textures (looking for solutions)

Post by RockstarRaccoon »

This has been requested a few times, and even partially implemented in experiments, but there's never been a solid step to getting it in the engine. While I'm messing with the wall-rendering code to implement that new pegging feature, I'm starting to get some new perspective on this. I've noticed people have implemented it a couple times in code, but never been happy with the way mappers interact with it, and I'm not quite sure what all the issues are, but I have a potential solution to some of them.

First off, I think side_t::part (all texture stuff should be done here) should have two float skew variables added (one for vertical, one for horizontal) which define slopes, with 0 being default/none. The slope would then, in Left-to-Right sense of the rendering, define where each row/column is being raised to. This may need to be recalculated, engine-side, with the line-length, if there isn't a simpler way to do it.

As for getting the skew from slopes, I had a thought: I'm about to add some pretty robust pegging options, and they're going to allow a texture to be pegged to any sector the mapper wants (I'm even leaving room for code to implement pegging to an unrelated sector AND to piggyback off another linedef) so why not peg the skew to the slope of a floor/ceiling plane? There's already code in there to get the slope of a floor as it pertains to the wall, so couldn't that be used?

Previous threads for reference...

Return to “Feature Suggestions [GZDoom]”