Well, GLâs image mipmapping will be a little bit different from CoreGraphicâs. But I had a quick run of the demo appâs 2D demo, flipping between GL and CoreGraphics for the static RGB image, and it looks pretty much identical to me.
But you know⊠I canât see the rest of your image, but it really doesnât look like something you should be using bitmaps for. If youâre drawing anything as simple as a rounded rectangle border, the only sensible way to do it is with vector graphics.
Looking at the corners of the keys in my comparison image, posted before, it is clear that we lose the crispiness of the image.
I cannot find the demo you are talking about in the exemples folder. Is there a difference with my code? Is my only option to come back to CoreGraphics, to keep the fidelity?
Just run the big demo app and choose âGraphics: 2D renderingâ. You can swap the renderer at any time by pressing the â2â and â3â keys. Certainly thereâs not much control over how GL filters the images, but you could tweak it by nudging it around by sub-pixel amounts, it could just be that CoreGraphics is snapping the position to a pixel boundary differently.
Tank you. I realized that drawing the keyboard myself in openGl and using a GL_NEAREST Texture Mag Filter actually has the result I am looking for.
If we want to keep the component system, the speed of openGl and the sharpness of CoreGraphics, this parameter seems to be set hard in the juce_opengl module, in OpenGLTexture::create.
As for a maintainable way to modify a native module, branch from the JUCE repo?
Hmm, the size of those three window buttons in each window make me wonder whether some antialiasing/blurring has took place when magnifying those images in the leftmost and rightmost cases