undulated image surface using elevation data

Hi there.
I am trying to visualise a GeoTIFF image. I can read it using vtkGDALRasterReader; the output of that reader is a vtkImageData. The image contains the elevation of each pixel in a cell array data.

I am not very familiar with how to visualise images best. I have successfully visualised the image as an undulated surface in Paraview using a cell data to point data filter, followed by a warp filter. However the output is very sluggish (due to the large image size) and has some artefacts around the edges.

Could anyone think about a better, more efficient way how to display such an image in my own C++ code?

It would help to know what the image size is. Is the sluggishness a problem during pipeline execution (i.e., cell data to point data, warp data)? or during rendering? or both? And are you building the filters with threading enabled?

The picture size for my test image is 3600x3600, but I got no idea how typical that size will be (depends on what our clients will use).

My impression is that the warp filter in Paraview is causing the sluggishness. For my final C++ I usually build with USE_THREADS=ON.

I suppose at the moment I’m just after alternative suggestions around different filters/mappers/pipelines etc which I could trial out.