mirror of
https://github.com/godotengine/godot.git
synced 2025-12-07 13:49:54 +00:00
Merge pull request #113245 from aaronfranke/gltf-order-of-operations
GLTF: Fix order of operations for buffers and accessors
This commit is contained in:
commit
fc033ce088
1 changed files with 24 additions and 27 deletions
|
|
@ -188,12 +188,6 @@ Error GLTFDocument::_serialize(Ref<GLTFState> p_state) {
|
|||
return Error::FAILED;
|
||||
}
|
||||
|
||||
/* STEP SERIALIZE ACCESSORS */
|
||||
err = _encode_accessors(p_state);
|
||||
if (err != OK) {
|
||||
return Error::FAILED;
|
||||
}
|
||||
|
||||
/* STEP SERIALIZE IMAGES */
|
||||
err = _serialize_images(p_state);
|
||||
if (err != OK) {
|
||||
|
|
@ -206,12 +200,6 @@ Error GLTFDocument::_serialize(Ref<GLTFState> p_state) {
|
|||
return Error::FAILED;
|
||||
}
|
||||
|
||||
/* STEP SERIALIZE BUFFER VIEWS */
|
||||
err = _encode_buffer_views(p_state);
|
||||
if (err != OK) {
|
||||
return Error::FAILED;
|
||||
}
|
||||
|
||||
/* STEP SERIALIZE NODES */
|
||||
err = _serialize_nodes(p_state);
|
||||
if (err != OK) {
|
||||
|
|
@ -242,6 +230,18 @@ Error GLTFDocument::_serialize(Ref<GLTFState> p_state) {
|
|||
return Error::FAILED;
|
||||
}
|
||||
|
||||
/* STEP SERIALIZE ACCESSORS */
|
||||
err = _encode_accessors(p_state);
|
||||
if (err != OK) {
|
||||
return Error::FAILED;
|
||||
}
|
||||
|
||||
/* STEP SERIALIZE BUFFER VIEWS */
|
||||
err = _encode_buffer_views(p_state);
|
||||
if (err != OK) {
|
||||
return Error::FAILED;
|
||||
}
|
||||
|
||||
for (Ref<GLTFDocumentExtension> ext : document_extensions) {
|
||||
ERR_CONTINUE(ext.is_null());
|
||||
err = ext->export_post(p_state);
|
||||
|
|
@ -6992,6 +6992,18 @@ Error GLTFDocument::_parse_asset_header(Ref<GLTFState> p_state) {
|
|||
Error GLTFDocument::_parse_gltf_state(Ref<GLTFState> p_state, const String &p_search_path) {
|
||||
Error err;
|
||||
|
||||
/* PARSE BUFFERS */
|
||||
err = _parse_buffers(p_state, p_search_path);
|
||||
ERR_FAIL_COND_V(err != OK, ERR_PARSE_ERROR);
|
||||
|
||||
/* PARSE BUFFER VIEWS */
|
||||
err = _parse_buffer_views(p_state);
|
||||
ERR_FAIL_COND_V(err != OK, ERR_PARSE_ERROR);
|
||||
|
||||
/* PARSE ACCESSORS */
|
||||
err = _parse_accessors(p_state);
|
||||
ERR_FAIL_COND_V(err != OK, ERR_PARSE_ERROR);
|
||||
|
||||
/* PARSE EXTENSIONS */
|
||||
err = _parse_gltf_extensions(p_state);
|
||||
ERR_FAIL_COND_V(err != OK, ERR_PARSE_ERROR);
|
||||
|
|
@ -7004,21 +7016,6 @@ Error GLTFDocument::_parse_gltf_state(Ref<GLTFState> p_state, const String &p_se
|
|||
err = _parse_nodes(p_state);
|
||||
ERR_FAIL_COND_V(err != OK, ERR_PARSE_ERROR);
|
||||
|
||||
/* PARSE BUFFERS */
|
||||
err = _parse_buffers(p_state, p_search_path);
|
||||
|
||||
ERR_FAIL_COND_V(err != OK, ERR_PARSE_ERROR);
|
||||
|
||||
/* PARSE BUFFER VIEWS */
|
||||
err = _parse_buffer_views(p_state);
|
||||
|
||||
ERR_FAIL_COND_V(err != OK, ERR_PARSE_ERROR);
|
||||
|
||||
/* PARSE ACCESSORS */
|
||||
err = _parse_accessors(p_state);
|
||||
|
||||
ERR_FAIL_COND_V(err != OK, ERR_PARSE_ERROR);
|
||||
|
||||
if (!p_state->discard_meshes_and_materials) {
|
||||
/* PARSE IMAGES */
|
||||
err = _parse_images(p_state, p_search_path);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue