Commit Graph

52 Commits (5164b1bd2404ee72351f22c5a47f079426ad24fa)

Author SHA1 Message Date
abma c4997f16db remove "register" keyword:
clang warns: 'register' storage class specifier is deprecated
http://stackoverflow.com/questions/10675072/is-the-register-keyword-still-used
2015-03-02 23:44:02 +01:00
Turo Lamminen af09e68654 Fix memory corruption when LWO file contains bad-sized points chunk 2015-01-29 23:22:41 +02:00
abma 775b26e614 use std:: namespace for most cmath functions:
http://en.cppreference.com/w/cpp/header/cmath
2014-09-23 00:43:33 +02:00
acgessler 185f01963f LWO: replace legacy reinterpret_cast based code by memcpy to solve Android SIGBUS problems due to unaligned accesses. Fixes #351 2014-09-04 20:49:48 -07:00
Léo Terziman 4e7b59be55 Improving homogeneity of DEBUG macro for improved portability with compilers other than Visual Studio 2014-01-17 11:43:48 +01:00
Alexander Gessler e9ffabbfee LWO: ignore chunks of length zero. 2013-09-18 14:27:24 +02:00
Alexander Gessler 7efb94580f - LWO: fix crash when computing normals for meshes that contain line or point faces. Thanks to Thomas Sevaldrud for the patch. 2013-04-26 16:49:24 +02:00
aramis_acg 5a81b42ebe - add mFileExtensions field to aiImporterDesc, BaseImporter::GetExtensionList is now longer virtual since this would be redundant.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1234 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-04-22 22:26:26 +00:00
aramis_acg 4dbf539b44 - update license header. Update copyright year and unify naming: our name is 'assimp', not 'ASSIMP'.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1147 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-02-03 03:38:30 +00:00
aramis_acg e52a49a990 Fix [3472310] Unnecessary output in LWOImporter
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1107 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-11 09:41:48 +00:00
aramis_acg 5957e9996b merge https://github.com/gellule/assimp.git
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1096 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-12-11 23:54:04 +00:00
aramis_acg 052ad0e3de # LWO: set layer skip parameter, thanks to gellule for the patch [https://sourceforge.net/projects/assimp/forums/forum/817654/topic/4853762]
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1095 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-12-01 12:24:33 +00:00
aramis_acg 9d85c8834d - extract MaterialHelper and move all of its members to aiMaterial in /include.
- pull in IOhannes' patch to set the gcc default visibility for all symbols to NO and to mark ASSIMP_API with __attribute__ ((visibility("default"))).
- drop unneeded ASSIMP_API from most internal classes in /code, we just need to keep some exports on Windows to keep AssimpView alive.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1066 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-22 20:22:51 +00:00
aramis_acg 6f30639d7f - refraing from using magic numbers like 0xffffffff all over the repository, rather use UINT_MAX/SIZE_MAX ..
- minor re-formatting and refactoring at some old code spots.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@970 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 21:29:18 +00:00
aramis_acg 85cd9be46d # some fixes to reduce the size of the binary. Total savings are ~3%. Thanks to Krishty for his efforts in that regard.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@939 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-03 15:12:05 +00:00
aramis_acg 58ce3ee879 # fix potential LWO crashbug related to UV processing [http://sourceforge.net/projects/assimp/forums/forum/817653/topic/4070109]
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@899 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-02-03 13:22:38 +00:00
aramis_acg 7cea2eb497 Change date in license header to 2006-2010. This involves updating quite a few files, sorry.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@661 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-04-10 15:30:22 +00:00
adario ef71f3dba7 Fixed a polygon type issue in the LWOLoader.
LightWave polygons of type 'BONE' and 'SUBD' (animation bones and subdivision surfaces) were not being processed at all, sometimes resulting in empty meshes.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@623 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-19 23:35:29 +00:00
aramis_acg 255e68aafc Fix unterminated buffer in a certain error messahe produced by the LWO loader.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@619 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-18 17:25:11 +00:00
aramis_acg 50264941dd [2972343] LightWave/modo patch. See http://sourceforge.net/tracker/index.php?func=detail&aid=2972343&group_id=226462&atid=1067634
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@618 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-18 17:20:49 +00:00
aramis_acg 762a7df46a Revamp exception handling. ImportErrorException renamed to DeadlyImportError to avoid silent regressions. Exceptions now thrown by value, and caught by reference. Put guards in all C++ and C API functions to avoid unwanted exception propagation across module and language boundaries.
PLEASE TEST CAREFULLY IF THIS SHOULD CAUSE REGRESSIONS.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@617 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-18 17:00:12 +00:00
aramis_acg 4f6d81a29b - Clarify documentation for Importer::GetOrphanedScene.
- Change doc revision to 590.
- Rebuild CHM doc (online docs updated as well).
- Add TBD entry to LWO loader to remind me if I find enough time to fix that.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@591 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-08 20:21:30 +00:00
aramis_acg a677cdd1c0 LWO: Improving handling of VMAD chunks to process multiple discontinous UV's correctly.
LWO: Error messages include VMAP/VMAD name now.
LWO: Subdivision weight maps are read; but not yet evaluated. 

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@415 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-05-05 14:32:01 +00:00
aramis_acg bd196ea318 - Changing LWO loader's VMAP selection strategy. Unassigned VMAPs (UVs and VColors) are now kept, if possible. Referenced VMAPs have higher priority so everything should be backward compatible.
- assimp_cmd writes vertex colors in 'Colors' elements now.
- assimp_cmd writes 'set=' attribute for UVs and vertex colors.
- Adding test files for the awesome new LWO capabilities.


git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@396 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-20 16:49:46 +00:00
aramis_acg 29c33760e4 Triangulation:
- FEATURE: Concave polygons are now triangulated correctly.
 - internal face order is ccw now, flipwinding part of converttolh flag
 - added test files for the various formats supporting such polygons

FindDegenerates: 
 - improved behaviour when processing polygons, more tolerant.

Obj: 
 - material files are now properly read using the given IOSystem 
 - redirecting some std::cerr calls to our logger 
 - spaces and tabs are now allowed at the beginning of a line 

Viewer: 
 - max smoothing angle for normals is set to 90 deg now

vc9-workspace 
 - added assimp_cmd, renamed some virtual folders to be sexier.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@374 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-02 15:16:01 +00:00
aramis_acg 48d768f15f LWO
- added workaround for LWOB's with ill-formed SURF chunks 
 - layer hierarchy is now correct
 - fixed & simplified transparency handling

FindDegenerates 
 - fixed seldom crashes with RemoveDegenerates=1. 


git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@369 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-03-26 22:05:56 +00:00
aramis_acg c2d8881549 General
- changing Assimp's coordinate system from RH z-up to RH y-up
 - fixing coordinate system for LWO, 3DS, ASE, MD5, MDL, B3D, IRR, IRRMESH 
 - converttolh moved to three separate steps -> flipuv, flipwinding, makelh

LWO 
 - fixing texture coordinate generation -> mapping axis is correct now 
 - fixing z-fighting bug

ASE 
 - fixing crash due to invalid normal setup 
 - fixing parenting bug 
 - code cleanup

IRR 
 - code cleanup
 - fixing placement of externally loaded meshes 

MDL 
 - fixing texture coordinate space

PLY 
 - cleanup 
 - two-sided maat property is now set 

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@366 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-03-15 00:40:30 +00:00
aramis_acg 4bbc03332b General
- Added format auto-detection to most loaders
  - Simplified BaseImporter::CanRead() with some utility methods
  - improved fast_atof -> no overruns anymore. Fuck you, irrlicht.
  - added assimp_cmd tool to allow command line model processing. Mainly adebugging tool for internal purposes, but others might find it useful, too.
  - vc8/vc9: revision number is now written to DLL version header
  - mkutil: some batch scripts to simplify tagging & building of release versions
  - some API cleanup
  - fixing some doxygen markup (+now explicit use of @file <filename>)
  - Icon for assimp_view and assimp_cmd

3DS
  - Normal vectors are not anymore inverted in some cases
  - Improved pivot handling
  - Improved handling of x-flipped meshes

Collada
  - fixed a minor bug (visual_scene element)

LWS 
  - WIP implementation. No animations yet, some bugs and crashes.
  - Animation system remains disabled, WIP code
  - many test files for LWS, but most of them test the anim support, which is, read above, currently disabled.

STL
  - fixing a log warning which appears for every model
  - added binary&ascii test spider, exported from truespace

MD3 
  - Cleaning up output tags for automatically joined player models.


IRR
  - Fixing coordinate system issues. 
  - Instance handling improved.
  - Some of the reported crashes not yet fixed.

PretransformVertices
  - Numerous performance improvements.
  - Added config option to preserve the hierarchy during the step.

RemoveRedundantMaterials
  - Added config option to specify a list of materials which are kept in every case.

UNREAL
  - Added support for the old unreal data format (*.a,*.d,*.uc)
  - tested only with exports from Milkshape
  - more Unreal stuff to come soon



git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@356 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-03-05 22:32:13 +00:00
aramis_acg abe2d4834e MD3
- shaders are now processed
 - multi-part player models are handled correctly

Material system
 - added flags for 'usealpha' or 'ignorealpha' setting of textures

LWO
 - fixed texture assignment bug due to invalid tag list

3DS
 - improved handling of dummy nodes

Viewer:
 - lines&points are now displayed
 - improved animation control via slider (still some stuff missing)
 - skeleton is now displayed
 - some other minor fixes

Validator:
 - some material issues are warnings now (no errors anymore)

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@349 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-02-15 20:29:07 +00:00
aramis_acg d41f570dc0 Added support for compressed x files (all files from dx sdk, except car2.x, work, no further tests yet).
Added a working makefile for mingw, provides more configs now. Not perfect yet.
Added decompression part of zlib (inflate).
Moved IrrXML to ./contrib dir.
Moved some IRR/IRRmesh shared code.
FIXME: makefile for gnu/linux is untested yet.
Code cleanup.
Unified #ifndef ASSIMP_BUILD_nnn_IMPORTER directives.
OBJ loader supports map_bump, map_ka, map_ks, map_ns now.
Endianess conversion in the ply loader is correct now.
Changed IRR/IRRMESH coordinate system conversion. Not absolutely right now, but better than before.


git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@305 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-01-18 23:48:25 +00:00
aramis_acg 32342857d8 ASE and 3DS cleanup - face ordering improved.
Further work on target camera animation support in both loaders. Some general animation problems in both formats remaining, too. 
Added GenUVCoords and TransformUV-steps (see ML). The latter has been fully implemented, test file are there. GenUVCoords is a dummy for the moment.
Boost workaround for shared_array.
Further work on the documentation.
Updated material system (see ML).
Bug fixing in the AC loader, lights are now supported, too.


git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@243 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-11-16 21:56:45 +00:00
aramis_acg f7aa836330 ASE: Added WIP support for *SMOOTHSKINMESH elements in ASE/ASC files. Fixes in the ASE loader. Fixed animation parsing. Temporary implementation of target lights and cameras, including animations.
3DS: Fixed transformation problems (Pivot points), added WIP animation support. No target animation yet (cameras, spot lights). Not yet fully tested, but static models that worked before should still work now, except all look correct now :-) (some problems with very large models remaining)
Further work on the IRR and IRRMESH loaders. IRR still WIP, IRRMESH more stable now.
Work on the LWo loader. Added support for the "one-layer-only" mode. Hierarchy bug still unfixed, UV coords bug still unfixed.
Further work on the FindInvalidDataprocess. Improved validation for normals, no false positives anymore.
Further work on the MDR loader, still WIP.
Moved DeterminePType-Step to ScenePreprocessor.
aiAnimation::mDuration is optional now, ScenePreprocessor computes it automatically if set to -1.
Fixes in the SMD loader. Still crashes on some files.
Updated animation documentation.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@236 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-11-09 23:17:19 +00:00
aramis_acg 7c50899481 Fixed 3DS, ASE, MD3 and Q3D orientation after Schrompf' recent changes to the RH-LH conversion.
WIP version of animation support in the 3DS loader. Still hoping to find out why the pivots aren't handled correctly ...
Added first draft of a B3D loader provided by Mark Sibly.
Moved DeterminePType-Step to ScenePreprocessor.
Small LWO fix. Still texturing problems.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@231 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-11-04 20:41:11 +00:00
alil ef3cd69ae6 worked on getting assimpl compiled on BE
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@201 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-28 23:18:06 +00:00
aramis_acg 3d3b9719f8 Fixed third-person camera movement bug in the viewer.
Fixed a bug that caused the viewer to render "random" polygons in some special cases. 
ASE: Added parsing support for *GROUP nodes. Improved light & camera handling (still WIP). Fixed a bug that was caused by a recent change. Improved logging.
Updated PretransformVertices. The step works now (and supports line and point meshes). Important: The position of the step in the pipeline has changed. No unit test yet.
Minor fixes to SortByPType. Added a config option that allows users to specify which primitive types they don't need. 
Added WIP version of an Irrlicht Scene Loader (.irr).
Added a small helper class ("BatchLoader") to make it easy for loaders to load subsequent meshes from external files (needed for irr and lws).
Added test models for IRR. Added dwarf.x from the Irrlicht repository (readme included) to the test X files.
[Current TODO: Fix bugs in: AC, 3DS, LWO. Finish MDR and OG. Implement: IRR, LWS. Write some more ut's ... ]

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@197 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-27 00:36:26 +00:00
aramis_acg 1db46c242f Added temporary boost workaround - some assimp features work with reduced functionality in this case.
Added AC-loader, WIP version.
PLY loader is now able to load models from blender, test model added. Refactoring.
Added FindInvalidData step.
Added support for precompiled headers, the release builds in VC8 are configued to use PCH now.
Added separate makefile for mingw, no -FPic warning anymore, -clear works now.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@176 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-13 16:45:48 +00:00
aramis_acg 927cd1cd46 Added support for point and line primitives.
Added SortByPType and DeterminePType (anon.) steps
Optimized ASE, fixed 3DS.
Rewrite all loaders to conform to the api changes.
Optimized normal computation code in LWOLoader.cpp
Added new unit tests
Added test file for AC3D (good old wuson again)
 

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@167 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-09-30 20:20:56 +00:00
aramis_acg 9279513700 Optimized GenVertexNormal-Step.
Added SharedPostProcessInfo-class to allow pp-steps to interact with each other.
Used this new feature for some cross-optimization between the steps: SpatialSort is now solely computed once, not up to three times.
3DS bugfix - orientation was wrong.
ASE normal vectors - although they are normally wrong and not orthonormal they are working now.
Fix in fast_atof.h - 1.45E45 (major 'E') is handlded correctly now.
Improvements on jAssimp, still WIP and not working.
Some LightWave bugfixes, still WIP.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@164 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-09-27 16:46:05 +00:00
aramis_acg 3e46a0860e Added vertex color support to the DXF loader, fixed a minor bugs. Coordinate system issue still unsolved.
Modified GenVertexNormals to take always the cross product of the first and the last normal of a face as face normal.
Material implementation for LWO - seems to work, but there are some issues with highly complex models.
Added some LWO test models
Cleaned up the ./test dir - converted some BMPs to JPG to save space,
Finished the matrial property list in jAssimp, some other changes, too. The Java part of the API should be working now.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@156 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-09-20 15:55:51 +00:00
aramis_acg 9d167d20dc LWO2 partial support, makefile fix.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@135 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-09-13 11:11:51 +00:00
aramis_acg c9c2810e3c Fixes for some warnings in the gcc4 linux 64 build.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@134 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-09-13 09:01:24 +00:00
aramis_acg 8991496cf5 Fixes for build with mingw (no warnings in 32 Bit build, even with -wall).
SMD bugfix.
Makefile is up to date now.
Added pack-attribute for aiVector3D and aiVector2D. 

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@132 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-09-12 20:25:11 +00:00
aramis_acg 96f2b0b536 Removed AI_C_THREADSAFE flag - there are unknown compiler errors in the x64 build.
Removed config options for LWO, code cleanup; still WIP
Added a few StandardShapes implementations.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@126 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-09-10 14:39:35 +00:00
aramis_acg af18307f95 Next WIP version of the LWO loader. LWO2 is still unfinished and crashes every time.
Added NFF test model.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@123 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-09-08 16:48:21 +00:00
aramis_acg 38d04b6796 MD5 bugfix.
WIP version of the OptimizeGraph-Step.
Added hashes to some string routines (speedup).
Improved property system for float and strings.
Refactoring code for computing normals from smoothinggroups.
Implemented C-ASSIMP.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@116 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-08-28 17:35:36 +00:00
aramis_acg b2a1268711 STL bugfix. LWO2 next WIP version, deactivated for the moment (as I'm away for a week. LWOB (LightWave 1-4) remains activated).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@113 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-08-15 23:23:28 +00:00
aramis_acg f13edd8acf Fixes from Andrew Galante for build with gcc4. LWOB materials finished, some research for LWO2. Unit tests are working again. Added makefile and project workspace for xcode3 (from Andrew, too).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@110 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-08-13 23:46:46 +00:00
aramis_acg 0148d06678 LWOB loader nearly finished, LWO2 is WIP (many hours with the hex editor to come ...). Added test models for LWOB. Cleaned up the 3DS loader, overloaded ASSIMP_stricmp for std::string.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@109 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-08-13 15:45:57 +00:00
aramis_acg 676124e6e6 LWO update. ASE cleanup.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@108 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-08-12 01:50:16 +00:00
aramis_acg 0b1e8fefa5 Fixed log formatting in DefaultLogger.cpp to work with AssimpView.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@107 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-08-11 20:57:18 +00:00