2025-07-01 13:57 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0004014Spring engineGeneralpublic2016-10-09 15:45
ReporterAnarchid 
Assigned Toabma 
PrioritynormalSeverityfeatureReproducibilityalways
StatusresolvedResolutionfixed 
Product Version99.0+git 
Target VersionFixed in Version 
Summary0004014: update assimp / merge support for blender 2.63+
DescriptionBlender versions from 2.63 on have changed their native .blend format in multiple ways, primarily related to how they store meshes.

This breaks current version of spring-assimp, because it fails to import any meshes from .blend files authored in modern Blender versions.

Since Blender file format is one of three whitelisted formats (and it seems it <should> be whitelisted because being a GPL tool and stuff), this is bad!

Luckily, assimp upstream has fixed this in https://github.com/assimp/assimp/commit/eaf9cbc12076399d1abf6e6b12e65cde6989c7b2, which could (should) be merged to fix this problem.

Steps To ReproduceAttempt to use a .blend model authored in blender versions 2.63 and later in any versions of spring.
Additional InformationIt might be possible to merge just those two commits to get blender working, since original commit from which they were pulled upstream was dated very shortly after last spring-assimp update: https://github.com/lubosz/assimp/commit/23d532e52a63c5bdc540805b8e26dc2c401908bc

It might also be useful to pull the whole year, though.
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
related to 0004537closedabma cannot compile with gcc 4.9.1 due to deprecated std class 
related to 0005090closed Warnings regarding compling with ming64 on windows. 
related to 0005328closedabma [RPMLint] Program returns random data in a function 
+Relationships

-Notes

~0011646

abma (administrator)

afaik newer assimp versions support disabling formats by cmake config var. so it would make sense to merge all of it as we can easily disable unused formats which speeds up compile time / reduces executable size.

~0011720

abma (administrator)

current assimp doesn't work with blender files version 2.68 or bit lower:
https://github.com/assimp/assimp/issues/88

before merging this should be fixed first, else we have a similar situation imo

~0011754

abma (administrator)

just merging the Blender* files isn't possible without change, other internal structures / functions of assimp have changed, it won't compile.

my suggestion is to wait for assimp 4.0 and then merge it. atm it seems many stuff is broken.

https://github.com/assimp/assimp/issues/77

~0011760

Kloot (developer)

suspended in the meantime

~0013058

abma (administrator)

assimp 3.1 released:

https://github.com/assimp/assimp/issues/77

~0013172

Anarchid (reporter)

Meanwhile, Blender is considering dropping Collada, and there's already nobody maintaining their support of that format.

Given that current Spring cannot import current .blend files, that retains only one whitelisted format.

Pretty grim.

~0013747

abma (administrator)

does this work for you?

http://springrts.com/dl/buildbot/default/update_assimp/97.0.1-421-ga42c066/

updated to current assimp a while ago and created this build.

~0013770

abma (administrator)

feedback thread:

http://springrts.com/phpbb/viewtopic.php?f=9&p=562504

~0013992

ganilso (reporter)

Last edited: 2015-02-06 22:41

View 2 revisions

Simply cherry-picking https://github.com/assimp/assimp/commit/eaf9cbc12076399d1abf6e6b12e65cde6989c7b2 and https://github.com/assimp/assimp/commit/3713383b0fbff5af0891c7ae2cfe9642aedec56f seems to fix the problem.

edit: the above only fix for models that don't use the new n-gons. For example, the default cylinder is broken, but it still works if you substitute the circular faces for grid faces.

~0014436

abma (administrator)

when doing this, disable all unused importers:

https://github.com/assimp/assimp/commit/b4f5c57b3e7d9c20b001fb5484b5552f00527cf9

(currently the .cpp files are still compiled)

maybe remove the .cpp files as well!? (speeds up cppcheck)

~0016221

Anarchid (reporter)

Bump. There is a lot of complex and complexly animated assimp models now, so making tests should be easy.

What should i do to obtain a reasonably modern version of Spring with updated Assimp and test?

~0016222

abma (administrator)

> What should i do to obtain a reasonably modern version of Spring with updated Assimp and test?

i already tried once to update assimp but failed because spring crashed then when started. had no time to do that again.


to update assimp you basicly have to:

1. copy current assimp to rts/lib/assimp
2. adjust cmake files
3. disable/remove all unused importers / stuff
4. make all math functions use streflop

~0016755

abma (administrator)

https://github.com/spring/spring/commit/f87dae2ffbbdf6ffba1681a6e846545b0a0d0e31

oops: done in the lightning speed of 3 years XD
+Notes

-Issue History
Date Modified Username Field Change
2013-09-24 15:22 Anarchid New Issue
2013-09-24 16:10 abma Note Added: 0011646
2013-09-24 17:49 abma Summary merge support for blender 2.63+ => update assimp / merge support for blender 2.63+
2013-10-08 05:29 abma Note Added: 0011720
2013-10-14 21:18 abma Note Added: 0011754
2013-10-14 22:12 Kloot Status new => acknowledged
2013-10-14 22:12 Kloot Note Added: 0011760
2013-10-14 22:12 Kloot Status acknowledged => closed
2013-10-14 22:12 Kloot Resolution open => suspended
2014-05-13 01:20 abma Note Added: 0013058
2014-05-13 01:20 abma Assigned To => abma
2014-05-13 01:20 abma Status closed => new
2014-05-13 01:44 abma Assigned To abma =>
2014-05-13 01:44 abma Resolution suspended => open
2014-05-31 13:36 Anarchid Note Added: 0013172
2014-06-01 00:59 abma Target Version => 98.0
2014-06-04 16:42 abma Target Version 98.0 =>
2014-09-07 18:42 abma Relationship added related to 0004537
2014-10-10 15:29 abma Note Added: 0013747
2014-10-10 15:29 abma Assigned To => abma
2014-10-10 15:29 abma Status new => feedback
2014-10-10 15:30 abma Product Version 94.1.1+git => 98.0.1+git
2014-10-21 07:22 abma Note Added: 0013770
2015-02-05 11:45 ganilso Note Added: 0013992
2015-02-06 22:41 ganilso Note Edited: 0013992 View Revisions
2015-05-07 13:47 abma Note Added: 0014436
2015-06-25 18:21 abma Product Version 98.0.1+git => 99.0+git
2015-06-25 18:21 abma Target Version => 100.0
2015-07-12 21:15 abma Target Version 100.0 =>
2016-02-14 15:18 Kloot Relationship added related to 0005090
2016-04-27 12:16 Anarchid Note Added: 0016221
2016-04-27 12:16 Anarchid Status feedback => assigned
2016-04-27 12:23 abma Note Added: 0016222
2016-08-03 01:17 abma Relationship added related to 0005328
2016-10-09 15:45 abma Note Added: 0016755
2016-10-09 15:45 abma Status assigned => resolved
2016-10-09 15:45 abma Resolution open => fixed
+Issue History