Loading supercompressed ktx files #1163
-
tl;drIs loading supercompressed ktx files supported? (ie basis-lz format or uastc transcodable format) If so, how do I do it? If not, how easy would it be to implement myself? How I got hereHi all, I'm attempting to load in a supercompressed ktx cubemap as a skybox with the vsgExamples vsgskybox.cpp. Using the official KTX tool
However, when I encode it with
I delved into ktx.cpp in the vsgXchange repo and found this section:
Which tells me that the vkFormat of the texture is to blame for the mismatch. Using This appears to be intended behavior, as per the ktx spec: So my question is (finally), since this is intended behavior for ktx files, does VSG have a way to deal with the If it's not implemented, is there an easy way to bring this functionality into my project? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 5 replies
-
I haven't touched the ktx plugin since I originally worked on it. I'm afraid it's too long for me remember details - you will probably be more informed and up to date by now. If a value needs to be passed back as meta data then you can assign a user value by setting data->setValue("property", value); What you should do with that I can't say at this point, or even whether that's appropriate. |
Beta Was this translation helpful? Give feedback.
-
Thinking back to original work on the ktx plugin (3 years ago) I integrated the ktx source into vsgXchange as fallback because libktx project was painful to download and build at the time. Things may have changed now. I don't think basis support is supported in the local build, it was very early life in it's life back 3 years ago so wasn't a settled lib you could just link to. If libktx and basis have become more friendly for pulling is an external dependency then it might be time to rewrite the plugin to use an external libktx and basis. Then figure out full basis support. I have a lot of work on my plate right now so I'll not be able to look at this refactor, so others will need to be pick up the ball and run with it. |
Beta Was this translation helpful? Give feedback.
-
Draco could be added as an external library and configured in cmake options. For KTX, I include the core source code in https://github.com/xarray/osgverse/tree/master/3rdparty/ktx and keep its own licenses. |
Beta Was this translation helpful? Give feedback.
Thinking back to original work on the ktx plugin (3 years ago) I integrated the ktx source into vsgXchange as fallback because libktx project was painful to download and build at the time. Things may have changed now.
I don't think basis support is supported in the local build, it was very early life in it's life back 3 years ago so wasn't a settled lib you could just link to. If libktx and basis have become more friendly for pulling is an external dependency then it might be time to rewrite the plugin to use an external libktx and basis. Then figure out full basis support.
I have a lot of work on my plate right now so I'll not be able to look at this refactor, so others will need to be p…