SpiecsEngine
 
Loading...
Searching...
No Matches

◆ LoadFromKTX()

bool Spices::Transcoder::LoadFromKTX ( const std::string & filePath,
ktxTexture2 *& texture )
static

Load a ktx file.

Parameters
[in]filePathktx file path.
[in,out]texturektx file.
Returns
Returns true if finish all task.

Definition at line 133 of file Transcoder.cpp.

134 {
136
137 KTX_CHECK(ktxTexture2_CreateFromNamedFile(filePath.c_str(), KTX_TEXTURE_CREATE_LOAD_IMAGE_DATA_BIT, &texture))
138
139 if (ktxTexture2_NeedsTranscoding(texture))
140 {
141 ktx_transcode_fmt_e tf = GetAvailableTargetFormats();
142
143 khr_df_model_e colorModel = ktxTexture2_GetColorModel_e(texture);
144
145 KTX_CHECK(ktxTexture2_TranscodeBasis(texture, tf, 0))
146 }
147
148#if 0
149
153 ktxVulkanDeviceInfo vdi{};
154 VulkanState& state = VulkanRenderBackend::GetState();
155
156 KTX_CHECK(ktxVulkanDeviceInfo_Construct(
157 &vdi,
158 state.m_PhysicalDevice,
159 state.m_Device,
160 state.m_GraphicQueue,
161 state.m_GraphicCommandPool,
162 nullptr
163 ))
164
165 KTX_CHECK(ktxTexture2_VkUploadEx(
166 texture ,
167 &vdi ,
168 vkTexture ,
169 VK_IMAGE_TILING_OPTIMAL ,
170 VK_IMAGE_USAGE_SAMPLED_BIT ,
171 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
172 ))
173
177 char* pValue;
178 uint32_t valueLen;
179 KTX_CHECK(ktxHashList_FindValue(
180 &texture->kvDataHead ,
181 KTX_ORIENTATION_KEY ,
182 &valueLen ,
183 (void**)&pValue
184 ))
185 {
186 char s, t;
187
188 if (sscanf(pValue, KTX_ORIENTATION2_FMT, &s, &t) == 2)
189 {
190
191 }
192 }
193
194 ktxTexture_Destroy(ktxTexture(texture));
195 ktxVulkanDeviceInfo_Destruct(&vdi);
196
197#endif
198
199 return true;
200 }
#define SPICES_PROFILE_ZONE
#define KTX_CHECK(expr)
static ktx_transcode_fmt_e GetAvailableTargetFormats()
Get available gpu compress format.
static VulkanState & GetState()
Get VulkanState in use.