With QGIS 3.x (I used 3.20.0), it's really easy to use the native 3D functionality.
Variant 1: constant hight of the glacier
Create a polygon grid (squares) with the extent of your glacier and delete all grid cells that do not overlap the gacier's polygon. To do so use Select by location, run it with
Grid / Disjoint / Glacier polygon and delete the selected cells.
In the grid's Layer Styling panel, go to the 3D view tab, set
Extrusion to the value representing the hight of the glacier and
Altitude clamping to
Go to Menu View / New 3D Map View and use the spanner icon (configuration) to set
Terrain / Type to
DEM (Raster Layer) and select your DEM.
You now have your glacier in 3D with constant hight above the terrain surface. Make settings for the style (color etc.):
Variant 2: Different height of the glacier at different places
The advantage of using a grid is that you can set an individual height value for each grid cell. For demonstration purposes, I placed a red point near the end of the glacier and calculated a new attribute named
hight. It corresponds to the distance of each cell's centroid to that point: the further away, the higher it is. In reality, of course, you could use actual measurement values representing the thickness of the ice, this here was just to get quickly different value for the glacier's thickness.
Extrusion now use data driven override and set the field created before as input. This is what you get: