Dsen wrote:I have seen that your proposal, but currently we can't use embedded OpenGL scaling for software rendering mode. GUI architecture limitation. It will be probably possible in future releases.
Of course for 3D rendering case that will come more early I suppose.
This is why locking the scale factor to integer values makes sense. (Or at least, putting an option for this restriction.) As noted by Technologov, 200% is exact multiply (2x, 3x, etc.) and every pixel end up being given as much love. No smaller lines than the others, or such.
GL_NEAREST interpolation might be a good candidate when the afore-mentioned limitation is bypassed in the future. Nearest-neighbor, in an integer-scaling scenario, is the mapping of individual pixels to larger (2x2, 3x3, 4x4, and so forth) blocks of like-value pixels. That scaling method is implementable because, if my logic is correct, no rights protect it. It's just doubling. There's no complicated code to borrow, but the limitation is that it only works great on 2x or something. Personally, I like it best than bilinear and ever lanczos in integer-scaling environments. It's an algorithm that should be selectable in every scaling software. It preserves detail and original data like no other can.