Commit Graph

56 Commits (bf7b1d3514888e5374faf2630983f583c1510c41)

Author SHA1 Message Date
aramis_acg ccd4a9d78d # fix include path to <unzip.h> for hand-maintained vc9 solution
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1012 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-30 14:41:57 +00:00
aramis_acg f522143909 + IFC: use custom triangulation algorithm to generate walls with openings. Introduce a configuration option to toggle the triangulation implementation.
# IFC: fix bug in boolean clipping code leading to polygons having undefined normals. 

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1006 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-18 18:08:18 +00:00
aramis_acg bbd7547fff - Further work on IFC, fix transformations, support non-uniform transformations, optimize loading, use recursive algorithm to resolve holes in polygons, implement CSG logic to generate wall openings. The latter is currently disabled.
- Triangulation step now automatically drops polygons with an area of zero.
- Add debug preprocessor switch to dump all triangulations to a separate file.
- Refactoring, collect some polygon related functions in a separate header, PolyTools.h


git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1002 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-13 00:52:50 +00:00
aramis_acg c55509132b - IFC: implement automatic conversion from polygons with holes to polygons that consist of only one piece and are thus applicable to triangulation by ear-cutting. This solves many of the broken windows that would fall victim to z-fighting in earlier revisions.
- IFC: reduce logging overhead
- Move parts of IFC and BLENDs logging code to a shared implementation.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@994 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-09 18:00:55 +00:00
aramis_acg 95e0148f95 - IFC: directly keep a pointer to the class name in STEP::Object. This avoid hacking around with typeid().name(), which yields platform-dependent results.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@992 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-08 20:08:28 +00:00
aramis_acg 1400ae79e7 + add first prototype version of the IFC-STEP loader. Loads many test models fine but does not support some of the more sophisticated format features.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@979 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-06 23:55:38 +00:00
aramis_acg d2a1a3f2c0 # update vc9 workspace
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@947 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-15 15:10:50 +00:00
aramis_acg 2c83543b39 - remove aiAssert, use a plain assert instead. This removes the exit() call in Assimp.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@943 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-06 12:06:40 +00:00
aramis_acg 7e2f322dc8 - updated hand-maintained vc9 projects.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@932 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-03 11:24:10 +00:00
aramis_acg fbeb20175c # uh, forgot to commit updated project file.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@916 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-03-08 17:18:25 +00:00
ulfjorensen 3a4651b0ec Bugfix: SplitByBoneCountProcess sometimes split too early
Export API continued.
First version of the Collada Exporter added. Handles static geometry and node hierarchy upto now. 

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@894 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-01-21 15:37:00 +00:00
aramis_acg e5f7fe0c3a - More work on the current draft of the export interface. Again, please comment.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@886 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-01-05 22:07:51 +00:00
ulfjorensen ae23c03bd9 First proposal of the Assimp export API. Please comment.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@885 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-01-05 15:33:01 +00:00
ulfjorensen a9e96e2f9b - added a new post processing step to split up meshes into submeshes with a limited number of bones.
- fixed some wording details

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@864 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-11-22 18:14:51 +00:00
aramis_acg 51fbb630e7 - fix vc9's debug-x64 build config.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@853 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-11-21 18:36:21 +00:00
aramis_acg 6f1408a7f0 - update CHANGES.current.
- mark aiAnimMesh data structures as *NOT CURRENTLY USED*. They are, however, still contained and visible because some ports may be relying on their presence.
- add SimpleAssimpViewX sample provided by drparallax. Thanks! (http://sourceforge.net/projects/assimp/forums/forum/817654/topic/3917829)


git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@843 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-11-21 14:57:00 +00:00
ulfjorensen f601309db5 - anonym XFile materials are named now, to prevent them from being merged somehow
- added another boost dependency - lexical_cast - and a little replacement for all those boost haters out there

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@826 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-10-08 17:27:59 +00:00
aramis_acg c5c5338397 Add first version of the planned progress feedback API to the public Cpp API. Currently, progress reporting is done between each major import stage.
Fix various issues with the vc9 solution and assimp_cmd.
Declare some more Importer methods const. This marks them as safe to use from within a progress callback.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@806 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-08-26 18:16:12 +00:00
aramis_acg 20cc623ecd noboost: Add working implementation for boost.format to get proper Collada error messages. See https://sourceforge.net/projects/assimp/forums/forum/817654/topic/3820367.
Add unit test for this.

Fix build errors due to invalid pch settings in vc9 | release-noboost.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@798 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-08-23 17:49:03 +00:00
aramis_acg 81bebcd0ec Add basic support for the IZWARE NENDO file format (extension: ndo). The loader has been tested with files in format version 1.0, 1.1 and 1.2. Materials and textures are read but ignored for now.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@791 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-08-09 08:24:16 +00:00
aramis_acg a9fd02c14e JoinIdenticalVertices: Performance optimizations by Krishty („Fuck the System”). Yields a 9x speedup in first benchmarks with meshes > 2k triangles.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@780 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-07-11 23:07:11 +00:00
aramis_acg aae8637666 Add GLOB_MEASURE_TIME configuration option to profile the runtime of the postprocessing steps.
Start new documentation page for Performance/Profiling questions.
Migrate existing notes on multithreading to a new doc page, add more details.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@772 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-07-08 22:44:44 +00:00
aramis_acg d082330cea BLENDER: Fix potential stack overflow caused by a DOM object referencing itself.
Add general infrastructure to apply modifiers.
Implement mirror and subdivision modifiers using existing stuff.
Update BlenderDNA with related structures.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@763 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-07-07 14:50:19 +00:00
ulfjorensen 3adce87c5c - Made it mostly compile again
- Updated VC9 project files

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@756 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-06-21 17:28:02 +00:00
aramis_acg 32bfa9ac21 Add WIP version of the BLENDER importer. DO NOT USE FOR PRODUCTION YET!
Loads static meshes. Sometimes (it segfaults on the rest). No materials, cameras, fancy stuff. Works with all versions of blender. No compressed blend files yet.

- StreamReader now uses shared_ptr's to manage ownership of the stream.
- Adapt other loaders accordingly.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@717 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-05-10 10:22:24 +00:00
aramis_acg 01a25c1fb4 Get rid of ./extra folder in ./code. Move contents to main code folder.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@664 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-04-11 01:41:24 +00:00
aramis_acg 4c1b5a532d Add first WIP version of a TrueSpace loader. Currently only ASCII COB/SCNs are supported.
Add some fast_atof overloads to simplify calling it.
Add another convenience c'tor to aiColorMM.
Add COB test models.
Remove unreferenced member in B3D importer.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@633 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-04-02 04:17:05 +00:00
jonathanklein 25416b494f further work at Ogre Importer:
- split some code to OgreImporterMaterial.cpp
- Animation keys now are absolute, like required
- WorldToBoneSpace is now BoneToWorldSpace (hence we compute the inverse and the variable is renamed)

Animations still don't work really, so this version has basically no new features

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@621 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-19 20:45:40 +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
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
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
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
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
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 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 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 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 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 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