Commit Graph

142 Commits (50264941dd7717584652a96ac66cf50ac4427689)

Author SHA1 Message Date
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
klickverbot de9b7a52f9 Added missing files to the XCode project; define AI_BUILD_BIG_ENDIAN when compiling for Apple/PowerPC.
Again, thanks to Dario Accornero for the patch!

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@587 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-05 18:02:36 +00:00
aramis_acg 26a96340ff - Add 'info' utility to assimp_cmd. It displays quick file statistics, texture dependencies, file structure.
- Clean up assimp_cmd source code, a bit of doc work as well.
- Remove unused workspaces pertaining to old jAssimp and Assimp.net.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@582 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-04 17:47:39 +00:00
klickverbot 2b7bc324f8 Added noboost targets to the XCode project file.
Thanks to Dario Accornero for the patch!

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@581 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-03 23:07:19 +00:00
klickverbot ac8479f542 Moved private headers to code/ as discussed; removed boost::random workaround which was no longer needed; CMake cleanup part two (Boost detection, …).
Please be quick to suspect this commit if the build should break on Windows/MSVC.

(Again, sorry for the large commit, but I didnt want to flood the commit log with my git-style tiny commits.)

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@577 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-03 21:48:23 +00:00
klickverbot 3cd5e2a889 Removed obsolete SCons workspace.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@571 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-03 14:05:09 +00:00
aramis_acg 5738860990 - Change BaseImporter::GetExtensionList to add all known file extensions to a std::set, so uniqueness is guaranteed. Also rewrite all related functions in Importer. NOTE: This does *not* change the public interface.
- FIX build error on vc8/release-noboost x64, ConvertUTF.c had wrong PCH settings.
- ADD knowext and listext verbs to assimp_cmd, add some raw docs.
- Update unit tests to reflect these changes. Currently I keep getting failures in some tests, this needs to be resolved *urgently*.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@567 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-02 17:38:01 +00:00
aramis_acg b536a22e4e FIX vc8/PostBuildEvent: Enclose arguments to mkdir with double quotes to deal with spaces in paths. Thanks to Jonathan Klein to point it out.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@554 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-02-25 21:32:43 +00:00
aramis_acg 7c16f41c21 FIX vc9/PostBuildEvent: Enclose arguments to mkdir with double quotes to deal with spaces.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@553 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-02-25 21:20:11 +00:00
aramis_acg 707b06a7fe Add experimental MS3D loader, static meshes only at the moment.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@542 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-02-07 00:54:48 +00:00
aramis_acg c55be8ada3 FIX: Cleaning up use of printf() format specifiers. %i mostly replaced by %u when appropriate.
FIX: 'size_t to %i' printf() vulnerability. 
FIX: Subdivision, change line&point handling, add missing parentheses to clarify order.
Add missing headers to vc9 workspace.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@533 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-01-28 23:01:33 +00:00
aramis_acg 2e3fee99f0 ADD Vertex utility class to simplify conversion from and to interleaved vertices.
Refactor JoinVerticesProcess to utilize the new utility.
ADD basic operators for aiColor4D, move to dedicated header and implementation file.
ADD some utility functions to SpatialSort.
ADD my existing Catmull-Clark implementation to Assimp for all model formats with support for subdivision surfaces. Slightly WIP, likely to produce errors on non-closed meshes. Currently only implemented in the AC3D loader.
Switch to byteswap intrinsics instead of inline assembly (bswap). Currently MSVC only.
FIX phong shading in assimp_view.
VertexTriangleAdjacency class now also works on arbitrary polygons - UNTESTED, tbd.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@532 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-01-28 21:17:25 +00:00
aramis_acg def60805d3 Move info.txt for xcode workspace one folder up in the hierarchy. Otherwise, most users won't read it.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@527 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-01-13 15:30:11 +00:00
aramis_acg 1a4ef72ffb Add 'noboost=1' and 'shared=1' parameter to SConstruct. Update INSTALL AND README.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@513 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-12-14 18:32:06 +00:00
aramis_acg a9ece90b81 FIX: Scons workspace was missing a reference to contrib/ConvertUTF.
FIX: assimp_cmd doesn't anymore execute ConvertToLeftHanded if only -fuv or -fwo is specified.
FIX: Amd64-Build with vc8 - invalid integer promotion
FIX: Remove '_asm int 3' debug stuff from IrrXML. 

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@512 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-12-14 17:17:41 +00:00
kimmi 0179b4fe51 - BUGFIX : Restore original Visual Studio 8.00 workspaces.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@507 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-11-27 14:38:47 +00:00
kimmi 1829481591 - UPDATE : Add group loading support to Obj-Loader. Many thanks to Robert Ramirez for this Patch.
- UPDATE : Add Robert Ramirez to CREDITS file.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@506 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-11-27 14:33:29 +00:00
jonathanklein 449bff99be Ogre Animations implemented but they don't work yet.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@485 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-09-28 16:53:33 +00:00
rave3d bbf5a32e6c adding native pointer to manganed classes
implementing c'tors and d'tors for managend classes (execept logging system)
rename some files

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@481 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-09-24 14:44:21 +00:00
jonathanklein 8cfb2e26cf - Ogre Importer Beta
- Ogre Importer Documentation
- Extended the general documentation at some points

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@476 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-09-05 12:04:32 +00:00
aramis_acg a251827cb9 Adding support for Unicode input files to most text file loaders (BVH and MD5 missing for now).
IrrXML receives memmapped UTF-8 input data now, it's own (faulty) conversion is not used anymore.
aiString's are explicitly UTF-8 now.
Slight refactorings and improvements.
Adding UTF-8/UTF-16 text files for ASE,obj,collada,ac3d. These contain various japanese/chinese character sequences.
Changing assimp_view's node view to display UTF-8 multibyte sequences correctly.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@469 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-08-21 22:49:58 +00:00
rave3d 91284765c2 adding interface definition for AssimpNET
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@451 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-07-30 17:08:50 +00:00
aramis_acg adb4ab602e Adding Importer::ReadFileFromMemory to make Chromanoid happy.
Updating unit test suite to verify the newly added stuff for correctness.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@444 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-06-21 19:44:48 +00:00
rave3d 4c5a9ae67f adding Assimp.NET to vc9 workspace
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@439 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-06-17 18:33:41 +00:00
aramis_acg 9070dc1f3c Further work on jAssimp. Still WIP and NOT USABLE, but interface getting stable now, most JNI code written.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@433 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-06-04 17:44:51 +00:00
aramis_acg 31f7adbed8 Deleting unused jAssimp stuff.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@432 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-06-04 17:42:03 +00:00
aramis_acg d881a16402 Logging functions are now available to C-Users, too. Cleaning up headers.
Changing spelling of some enums to camel.
Ply loader loads tristrips correctly now.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@425 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-05-28 11:32:54 +00:00
aramis_acg 84c6b4fde6 AssimpView:
- postprocessing configuration is no (partially) configurable.
 - adding linsk to Assimp homepage/bugtracker/forums.
 - updating about dialog.  
 - fixing colors of texture view (tiny array overrun ...).
 - minor UI theme adjustments.
 - 'setup file extensions' works again.
 - normal smooth limit is now used for primary import, too.
 - minor spelling fixes in the UI.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@417 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-05-09 23:27:48 +00:00
aramis_acg d7b4dd6ae3 Adding very basic reading support for CSM (CharacterStudio Motion). No proper hierarchy reconstruction yet, just plain marker import.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@408 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-26 15:09:03 +00:00
aramis_acg 9abcba4bc2 Integrating aiProcess_OptimizeGraph and aiProcess_OptimizeMeshes back into the Assimp core. They're stable enough now.
Moving private members of Assimp::Importer to a pimpl, hopefully solving strange crashes with vc9 debug builds.
Updating assimp_cmd to reflect these changes.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@403 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-24 20:53:24 +00:00
aramis_acg acdbf77c6e Fixing a rare bug when parsing floating-point numbers in exponent form. Thanks to zhao lei to point it out.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@388 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-15 14:16:11 +00:00
aramis_acg fcc6455447 Removing stdint.h dependency from the public API to avoid conflicts with other libraries.
Cleaned up aiTexture.h, AssimpPCH.h and MaterialSystem.h.
Updated child apps & makefiles to reflect these changes.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@385 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-11 14:31:57 +00:00
aramis_acg 0c762117b8 ColladaLoader does now load transparency. hacky, but it could work.
Cleaned up Collada material importing. No changes to other loader parts.
Adding missing FileSystemFilter.h to vc8 build config.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@383 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-10 22:51:12 +00:00
aramis_acg a3b32f306c Adding a file system filter layer to correct invalid paths automatically.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@381 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-10 21:59:22 +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 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 dfdca556fd [ 2659135 ] Xcode project update [for rev. 351]
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@352 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-03-04 14:29:53 +00:00
aramis_acg c865999420 Collada
- collada 1.5.0 textures are readable now
 - cube and volume maps and mip initializations are skipped
Material system
 - unified texture types. Added lightmap, displacement, reflection and 'unknown'. Everyone should be happy now (intending to remove ambient textures from the API).

ComputeUV
  Changed mapping axis property to vec3 
  Adapted step
   WARN: produces mirrored uv coords now. LH issue.

IRR  
  Updated to new texture types

3DS
  Updated to new texture types

NFF
  Updated to new texture types

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@340 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-02-11 20:56:05 +00:00
aramis_acg 9fe1652c2b Cleaned up public headers.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@334 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-02-06 22:43:08 +00:00
aramis_acg 4b4526953e Changed some runtime asserts to boost::static_asserts.
Added FindInstances postprocessing step. Not fully tested yet, but seems to work well. Enabled it for the viewer, too.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@327 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-02-02 20:29:27 +00:00
aramis_acg 03fcec7fe3 Removed direct STL dependency from the Assimp interface, should hopefully avoid problems with binary incompatible STLs. Some API changes, e.g. in the logger.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@321 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-01-23 21:06:43 +00:00
aramis_acg 7dabd7cd72 Enabled 'fast' STL for vc9. secure_stl=0 && iterator_debugging=0.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@318 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-01-21 21:33:56 +00:00
aramis_acg 3e1e937bcc Updated VC9 workspace.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@308 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-01-19 19:46:14 +00:00
aramis_acg 3d5eae6be5 Moved some defines into the core, away from the public stuff.
Fixed build error regarding zutil.c with vc9.
Updated VC9 project files (again ...)
Moved version getters to aiVersion.h.
Deleted redundant fast_atof.h from irrXML.
Added vc9 config for cppunit
Fixed a missing include when building against stlport

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@307 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-01-19 19:34:34 +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
ulfjorensen 244e2468c6 - Bugfix: ColladaLoader failed on <extra> tags in geometry elements
- Bugfix: ColladaLoader reads and filters mesh subgroups without faces now. Who the fuck writes them anyways? I'm looking at you, Maya export!
- Made the VC9 workspace load again. Thanks to Aramis for the hints.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@302 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-01-18 00:52:20 +00:00
rave3d d8cdfb9954 fixing vc9/UnitTest.vcproj
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@301 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-01-16 10:22:44 +00:00
aramis_acg 462bb953c2 Removed OptimizeGraph step - actually it isn't really useful, although I got it working very well.
Updated credits.
VC9 workspace updated by hand (no vc9 ...) so be careful.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@300 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-01-15 21:08:28 +00:00
aramis_acg 6557c28ef7 FIX: NFF face winding bug (actually it was in StandardShapes.cpp).
FIX: StandardShapes::MakeCone() - face order was incorrect in 50% of all cases.
Implemented StandardShapes::MakeCircle().
Fixed a compiler warning in B3DImporter.cpp.
Modified cone.nff - one texture isn't found, that's ok. The mapping should be better visible now.


git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@299 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-01-15 19:22:29 +00:00