by RockstarRaccoon » Tue Jun 26, 2018 8:40 pm
I'll note that I know rotations would be easier in GL, just because I've seen that in GL, but I suppose I just don't think about the software renderer.
And to be fair, I am looking into expanding (as in, adding scaling to) the image editing capabilities of SLADE, which would be far more appropriate as a place to put a texture rotation algorithm, but keep in mind, it's not as simple as simply rotating the textures on a matrix, Because unless you use other tricks you not only lose fidelity, but what do you do about the edges?
When I make my rotated textures for diagonal geometry, I have to play with the scaling and a few other things to make them work properly. It starts with scaling them up to 4X using an xbrz plugin, then tiling them to another 3x, then rotating by a multiple of 15 degrees with the noHalo algorithm, then cropping them back down, then putting in the vertical and horizontal version next to it, then carefully scaling using another noHalo algorithm until I get the features to line up properly, because that's not how rotational math works. Then I finally crop out the rest of it and I have a diagonal version of the texture. This is a time-consuming process that doesn't look as good as simply having the graphics card rotate it, that's why I asked. But as Rachael said, it's apparently not as simple as I was thinking because of the need to support Legacy renderers.
I'll note that I know rotations would be easier in GL, just because I've seen that in GL, but I suppose I just don't think about the software renderer.
And to be fair, I am looking into expanding (as in, adding scaling to) the image editing capabilities of SLADE, which would be far more appropriate as a place to put a texture rotation algorithm, but keep in mind, it's not as simple as simply rotating the textures on a matrix, Because unless you use other tricks you not only lose fidelity, but what do you do about the edges?
When I make my rotated textures for diagonal geometry, I have to play with the scaling and a few other things to make them work properly. It starts with scaling them up to 4X using an xbrz plugin, then tiling them to another 3x, then rotating by a multiple of 15 degrees with the noHalo algorithm, then cropping them back down, then putting in the vertical and horizontal version next to it, then carefully scaling using another noHalo algorithm until I get the features to line up properly, because that's not how rotational math works. Then I finally crop out the rest of it and I have a diagonal version of the texture. This is a time-consuming process that doesn't look as good as simply having the graphics card rotate it, that's why I asked. But as Rachael said, it's apparently not as simple as I was thinking because of the need to support Legacy renderers.