mirror of
https://github.com/godotengine/godot.git
synced 2025-12-08 06:09:55 +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;
|
return Error::FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* STEP SERIALIZE ACCESSORS */
|
|
||||||
err = _encode_accessors(p_state);
|
|
||||||
if (err != OK) {
|
|
||||||
return Error::FAILED;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* STEP SERIALIZE IMAGES */
|
/* STEP SERIALIZE IMAGES */
|
||||||
err = _serialize_images(p_state);
|
err = _serialize_images(p_state);
|
||||||
if (err != OK) {
|
if (err != OK) {
|
||||||
|
|
@ -206,12 +200,6 @@ Error GLTFDocument::_serialize(Ref<GLTFState> p_state) {
|
||||||
return Error::FAILED;
|
return Error::FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* STEP SERIALIZE BUFFER VIEWS */
|
|
||||||
err = _encode_buffer_views(p_state);
|
|
||||||
if (err != OK) {
|
|
||||||
return Error::FAILED;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* STEP SERIALIZE NODES */
|
/* STEP SERIALIZE NODES */
|
||||||
err = _serialize_nodes(p_state);
|
err = _serialize_nodes(p_state);
|
||||||
if (err != OK) {
|
if (err != OK) {
|
||||||
|
|
@ -242,6 +230,18 @@ Error GLTFDocument::_serialize(Ref<GLTFState> p_state) {
|
||||||
return Error::FAILED;
|
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) {
|
for (Ref<GLTFDocumentExtension> ext : document_extensions) {
|
||||||
ERR_CONTINUE(ext.is_null());
|
ERR_CONTINUE(ext.is_null());
|
||||||
err = ext->export_post(p_state);
|
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 GLTFDocument::_parse_gltf_state(Ref<GLTFState> p_state, const String &p_search_path) {
|
||||||
Error err;
|
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 */
|
/* PARSE EXTENSIONS */
|
||||||
err = _parse_gltf_extensions(p_state);
|
err = _parse_gltf_extensions(p_state);
|
||||||
ERR_FAIL_COND_V(err != OK, ERR_PARSE_ERROR);
|
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 = _parse_nodes(p_state);
|
||||||
ERR_FAIL_COND_V(err != OK, ERR_PARSE_ERROR);
|
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) {
|
if (!p_state->discard_meshes_and_materials) {
|
||||||
/* PARSE IMAGES */
|
/* PARSE IMAGES */
|
||||||
err = _parse_images(p_state, p_search_path);
|
err = _parse_images(p_state, p_search_path);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue