Whitelist ImageConversion.LoadImage in Udon
Voyage Voyage
Greetings,
I'd like to have access to the 'ImageConversion.LoadImage' method from Udon :
The reason is :
I'm currently making a 3D Model Loading using Udon#, that interprets GLB/VRM data.
Not having access to LoadImage forces me to re-encode, in advance, the images (PNG/JPEG/WebM) stored in these files into GPU-ready formats (DXT5/BC7/ETC2).
Re-encoding textures in advance leads to issues due to different systems having different requirements (BC7 for PC, DXT5 for Quest, ETC2 for Android/iOS, ...).
So while this is not blocking me, being able to use LoadImage would benefit me greatly, since I'd be able to create one asset for all the different platforms, without having to manipulate the data beforehand.
This request is similar to https://feedback.vrchat.com/feature-requests/p/udon-expose-unityengineimageconversion-class-and-methods but, I only need 'LoadImage'.
I don't need to encode pictures in-game.
I'd like to note that using the ImageLoader instead is not possible. The image data is embedded inside binary data.
So while there's an URL for the binary data, which is then downloaded using the StringLoader, there's no direct URL to the embedded images.
The ImageLoader cannot convert local data (i.e. I cannot pass it a byte[]), it only converts data it can download from a valid URL.
Log In
Voyage Voyage
As mentioned on Twitter (X), LoadImage targets PNG/JPEG/EXR and TGA but doesn't decode WebM images.
Still, as long as I can convert JPEG, PNG and EXR data into textures, I'd be happy, since these are the most widely used image formats when distributing 2D textures.