I see this problem on your service but not with Shapespark ‘raw’ scene, so it is most likely related to your custom code that assembles the textures in JavaScript. First thing to check would be if resolution of the computed canvas based textures is high enough. Your input textures have high resolution, but perhaps the transformation code reduces it too much?
Also to pass the computed textures to Shapespark, you do:
textureCanvas.toBlob(
(blob) => {
const fileUrl = window.URL.createObjectURL(blob);
const img = new Image();
img.src = fileUrl;
let reviewImg = document.getElementById("review_img_1");
reviewImg.src = fileUrl;
const texture = viewer.createTextureFromHtmlImage(img);
resolve(texture);
},
"image/jpeg",
1
);
Try instead passing canvas directly to Shapespark:
const texture = viewer.createTextureFromHtmlImage(textureCanvas);
This will avoid the jpeg
compression that toBlob
is doing, so can improve quality.