Image edge artifacts in Ableton Live when using OpenGL renderer

opengl

#1

We are having an issue where the edges of images are sometimes visible when drawing rotated images using the OpenGL renderer. We’ve made a simple test based on the “HelloWorld” juce project, which draws an Image via paint(), rotated with an AffineTransform, using the OpenGL renderer. About once every 20 instances, the edges of the image show up as faint, semi-translucent lines in Ableton Live.

Here is an example screenshot from our test when opened in Ableton:

We have only observed this bug when using Ableton Live (9.7.2 Build 2017-03-27_6dbe821c62 64-bit) with the OpenGL renderer, so perhaps this is caused by Ableton polluting the OpenGL state. Drawing the same test scene with CoreGraphics does not have the same behavior.

Here are the header and cpp for our test:
PluginEditor.cpp (1.7 KB)
PluginEditor.h (1.4 KB)

The machine which exposes this bug most often has the following specs:

MacBook Pro (15-inch, Mid 2012) with a non-retina display
NVIDIA GeForce GT 650M 512 MB
Intel HD Graphics 4000 1536 MB
macOS Sierra Version 10.12.5 (16F73)


#2

Is the image a power of two?


#3

Nope, it wasn’t. Thanks for pointing that out, changing to power of two dimensions fixed the problem.


#4

An alternative option :

#define JUCE_OPENGL_ALLOW_NON_POWER_OF_TWO_TEXTURES (1)

(cf OpenGL renderer glitch in retina)