vtkOpenGLExtensionManager performs undesired Render when vtkRenderWindowInteractor::Initialize() is called
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
vtkOpenGLExtensionManager r1.31 calls vtkRenderWindow::Render() at line 399 if vtkRenderWindow::GetNeverRendered() returns 1 at line 397.
This results in vtkRenderWindow::Render() being called from the middle of vtkOpenGLRenderWindow::OpenGLInit() with some of the settings which are set in this function still disabled, most notably GL_NORMALIZE. This in turn results in wrong rendering results during the first render after program start, which are very noticeable in some circumstances. See the attached image, on the left what it should look like, and on the right what it actually looks like.
The issue only happens when vtkRenderWindowInteractor::Start() (or Initialize()) is called, and only on the first render pass, thus on any next render pass (such as after any interaction) the image is as it should be. When vtkRenderWindow::Render() is called the issue does not happen, because vtkRenderWindow::Render sets NeverRendered to 0 before any initialization, thus before OpenGLInit() gets called.