Quadratic quad rendering difference between 9.2.6 and 9.4.1

Can anyone explain what changed between 9.2.6 (on the left) and 9.4.1 (on the right) that would result in such a drastic difference in rendering?
RenderingQuadraticQuads

I understand that I can tessellate and get better results, I am just surprised at the change.

Here’s the source code used to generate the images.

#include <vtkActor.h>
#include <vtkDataSetMapper.h>
#include <vtkDataSetReader.h>
#include <vtkInteractorStyleTrackballCamera.h>
#include <vtkLookupTable.h>
#include <vtkNew.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>

int
main(int argc, char **argv)
{
  vtkNew<vtkDataSetReader> reader;
  reader->SetFileName("quadraticQuads.vtk");
  reader->Update();

  vtkNew<vtkLookupTable> lut;
  lut->SetHueRange(0.6667, 0.0);

  vtkNew<vtkDataSetMapper> mapper; 

  mapper->SetInputConnection(reader->GetOutputPort());
  mapper->SetLookupTable(lut);
  mapper->ScalarVisibilityOn();
  mapper->SetScalarRange(-1, 1);
  mapper->SetInterpolateScalarsBeforeMapping(0);

  vtkNew<vtkActor> actor; 
  actor->SetMapper(mapper);

  vtkNew<vtkRenderer> renderer;
  vtkNew<vtkRenderWindow> renwin;
  renwin->AddRenderer(renderer);
  vtkNew<vtkInteractorStyleTrackballCamera> style; 
  vtkNew<vtkRenderWindowInteractor> iren;
  iren->SetInteractorStyle(style);
  iren->SetRenderWindow(renwin);
 
  renderer->AddActor(actor);
  renwin->Render();
  iren->Start();

  return 0;
}

Here’s the contents of the vtk file:

# vtk DataFile Version 4.2
vtk output
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 25 double
1 0 0 1 0 0.5 1 0 1 
1 0 1.5 1 0 2 0.7071067 0.7071067 0 
0.7071067 0.7071067 0.5 0.7071067 0.7071067 1 0.7071067 0.7071067 1.5 
0.7071067 0.7071067 2 0 1 0 0 1 0.5 
0 1 1 0 1 1.5 0 1 2 
-0.7071067 0.7071067 0 -0.7071067 0.7071067 0.5 -0.7071067 0.7071067 1 
-0.7071067 0.7071067 1.5 -0.7071067 0.7071067 2 -1 0 0 
-1 0 0.5 -1 0 1 -1 0 1.5 
-1 0 2 
CELLS 4 36
8 0 2 12 10 1 7 11 5 
8 2 4 14 12 3 9 13 7 
8 10 12 22 20 11 17 21 15 
8 12 14 24 22 13 19 23 17 

CELL_TYPES 4
23
23
23
23

POINT_DATA 25
SCALARS foo double
LOOKUP_TABLE default
1 1 1 1 1 0.7071067 0.7071067 0.7071067 0.7071067 
0.7071067 0 0 0 0 0 -0.7071067 -0.7071067 -0.7071067 
-0.7071067 -0.7071067 -1 -1 -1 -1 -1 

Both geometries are clearly different, hence different results.

They seem to have the same vertexes, but topology is being differently interpreted from the file.

Loading your VTK file in ParaView 5.13.1 and setting NonLinear Subdivision Level to 4 shows:

For subdivision 1 I get:

and for subdivision 0 I get:

Given that there are 4 cells the results make sense to me. I am not sure how you would get the result from 9.2.6, so I would call this a bug fix.

You might be able to fix the hard shadows in your 9.4.1 image by adding another light source or using the light kit: see View > Light Inspector in ParaView.

Looking back, I think VTK version 8 yielded the same results as 9.4.1, so I agree with the assessment it is a bug fix. Thanks for the replies!