What caused the different VolumeRender outputs between pure VTK and 3DSlicer

This is a heart image rendered by pure VTK code:

This is the same heart rendered by 3D Slicer:

I used the same transfer functions and tried to tweak some parameters on the mapper (vtkOpenGLGPUVolumeRayCastMapper), but still couldn’t achieve the similar effects like 3D Slicer.
Can anyone give me some hints about why Slicer so smoothed?