ShapeDiver conversion of ShapeDiverImageInput files

I’m using the SDImageInput component to load some of my model’s textures dynamically (i.e. based on relations defined in a database). These textures are set when a model is loaded via:

parameters.updateAsync({name: SDImageInput, value: imageURL.filetype})

This results in long load times and the primary culprit seems to be that ShapeDiver is converting the image to png and caching it. An optimized jpeg is converted into a png that’s roughly five times the original jpeg image size.

I’ve tried setting the allowed file type to jpeg exclusively and using jpg vs jpeg but, the file is still converted to png. Is this intentional?

The images imported through the SDImageInput component are converted to bitmaps on purpose, because they become Grasshopper Bitmap objects which can be manipulated using the ShapeDiver plugin as well as Squid and Rooster.

If you just want to use images as textures, you should avoid importing them through SDImageInput but instead directly connect a text input containing the image URL to the material component:

That way, the conversion never happens and you should get better performance.

Thanks Mathieu. This makes sense.