Use image index instead of texture index for source_images

This commit is contained in:
Lyuma 2023-08-05 16:52:51 -07:00
parent 16a93563bf
commit f67b6c158c
1 changed files with 2 additions and 1 deletions

View File

@ -3400,10 +3400,11 @@ Ref<Texture2D> GLTFDocument::_get_texture(Ref<GLTFState> p_state, const GLTFText
const GLTFImageIndex image = p_state->textures[p_texture]->get_src_image(); const GLTFImageIndex image = p_state->textures[p_texture]->get_src_image();
ERR_FAIL_INDEX_V(image, p_state->images.size(), Ref<Texture2D>()); ERR_FAIL_INDEX_V(image, p_state->images.size(), Ref<Texture2D>());
if (GLTFState::GLTFHandleBinary(p_state->handle_binary_image) == GLTFState::GLTFHandleBinary::HANDLE_BINARY_EMBED_AS_BASISU) { if (GLTFState::GLTFHandleBinary(p_state->handle_binary_image) == GLTFState::GLTFHandleBinary::HANDLE_BINARY_EMBED_AS_BASISU) {
ERR_FAIL_INDEX_V(image, p_state->source_images.size(), Ref<Texture2D>());
Ref<PortableCompressedTexture2D> portable_texture; Ref<PortableCompressedTexture2D> portable_texture;
portable_texture.instantiate(); portable_texture.instantiate();
portable_texture->set_keep_compressed_buffer(true); portable_texture->set_keep_compressed_buffer(true);
Ref<Image> new_img = p_state->source_images[p_texture]->duplicate(); Ref<Image> new_img = p_state->source_images[image]->duplicate();
ERR_FAIL_COND_V(new_img.is_null(), Ref<Texture2D>()); ERR_FAIL_COND_V(new_img.is_null(), Ref<Texture2D>());
new_img->generate_mipmaps(); new_img->generate_mipmaps();
if (p_texture_types) { if (p_texture_types) {