Commit Graph

63 Commits (832c1fcc7fa70113406e9e6e0e675688138dadb6)

Author SHA1 Message Date
Kim Kulling 9d69a12532 Merge branch 'master' of https://github.com/assimp/assimp 2017-06-01 16:22:25 +02:00
Kim Kulling cab6cdf7b2 Viewer: fix the build. 2017-06-01 16:21:23 +02:00
Kim Kulling a2b8d66a86 Update license info. 2017-05-09 19:57:36 +02:00
Kim Kulling 243df452a4 GeometryBuilder: fix update of vertices. 2016-08-25 18:20:52 +02:00
Kim Kulling bfed4ea634 Fix license date + remove deprecated macros. 2016-07-22 21:15:37 +02:00
Kim Kulling d43a083dc1 snprintf replacement: fix usage of ai_snprintf when snprintf is available. 2016-01-06 19:25:35 +01:00
Richard c25690f0e4 Refactor: Use LF line endings for source files 2015-07-02 20:51:45 -06:00
Kim Kulling 2bfc353fde License info: update year info. 2015-06-28 21:48:25 +02:00
Kim Kulling 76dd9467b2 fix win32-build for assimp_viewer .
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2015-04-17 20:02:55 +02:00
Marcel Metz 6b5b3c64e6 Removed invalid extern keyword. 2013-11-20 14:42:23 +01:00
Marcel Metz c3852c4743 Removed noops and warnings on unused variables. 2013-11-20 14:42:18 +01:00
aramis_acg ec6c62e005 - consistent use of ai_assert instead of assert.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1241 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-04-22 23:22:40 +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 3f369342d6 - Redesign the C interface to allow per-import settings.
- Make C-API threadsafe even without boost (no longer a global importer <-> scene map).
- Cleanup headers.
- Change the way how Importer::pimpl is accessed - all users are no longer friends of Importer to avoid spoiling the public interface. Rather, pimpl is exposed via a public member function and anyone having the definition of ImporterPimpl can access it.

THIS IS A BREAKING API CHANGE for anyone using properties with the C API. It is, however, a huge step forward and finally makes our C API functionally equivalent to the C++ interface.

I hope we can adapt all ports as soon as possible. I'd be grateful if the respective maintainers could do this.

Documentation is not yet up to date.

All this is in anticipation to the upcoming 3.0 release, which I'm actively working on.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1111 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-13 14:07:58 +00:00
aramis_acg 45d6647ffe + implement export support into AssimpView
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@937 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-03 14:25:18 +00:00
kimmi 071b786cd2 - BUGFIX : Make usage of export API in assimp viewer optional.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@918 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-03-15 20:27:18 +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
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
kimmi 0fd0f68b26 UPDATE: Add opengl-samples to cmake build enviroment for windows systems.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@823 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-10-03 12:08:21 +00:00
aramis_acg 400086e19f Fix possible data corruption in AssimpView (see http://sourceforge.net/projects/assimp/forums/forum/817654/topic/3831953). Thanks to mick-p to point it out.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@810 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-08-31 03:25:12 +00:00
aramis_acg a9fd7651fa Print version line to log upon loading a new file. This should aid at debugging incoming bugreports with logs attached.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@804 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-08-26 14:20:28 +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 c29e985f12 AssimpView now displays meshes and mroe detailled statistics in the scene browser.
Improve the user interface. takes more screen space now, but provides more information and less clumsy buttons.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@731 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-05-21 20:04:45 +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
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 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 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 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 7080ba231c General
- added Conjugate() and Rotate() to aiQuaternion
 - SkeletonMeshBuilder can now start hierarchy construction at a given node
 
MD5
 - MD5MESH and MD5 anim now working.
 - MD5ANIM files can be loaded without corresponding MD5MESHES
 - Config option to prevent automatic loading of MD5ANIMs 
 - WIP version of MD5CAMERA support.
 - added test files. No anim test file yet.

BHV
 - fixing formatting 

LimitBoneWeights
 - prints now statistics to the logging system 

Viewer
 - does now specify the LBW post-processing step.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@359 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-03-08 15:29:34 +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 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 e54ef3944d Removed ptv flag from assimp_view.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@337 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-02-08 21:24:39 +00:00
aramis_acg 0e9ff778c8 FIX: ptv transforms tangents and bitangents now corrrectly.
FIX: Obj loader sets IOR material property now. Fixed spelling.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@336 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-02-08 21:22:03 +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 6c69ebee4f Fixed texture paths in some NFF files.
Cleaned up Assimp C-API calls in the viewer.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@284 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-01-11 15:20:06 +00:00
aramis_acg d320a4bc64 Removed MDR loader - too unimportant and would need much more work to work properly.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@259 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-12-01 15:25:38 +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 df9f4130eb Further work on the IRR and IRRMESH loaders. IRR is still WIP, IRRMESH loads lightmaps correctly now.
Added lightmap viewing support to the viewer. Irrlicht's tone scaling is hardcoded for the moment, a proper implementation will follow with the new viewer.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@232 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-11-05 12:26:11 +00:00
aramis_acg a7088d6263 Rewrote 3DS loader to support BE - added temporary light & camera & animation support. few models not working anymore, transformation bug still unsolved.
Fixed normal vector handling in the ASE loader. Improved animation & camera & light support - as for the 3DS Loader, still in the works.
Fixed AC - Loader. It is now able to load models with complex hierarchies correctly. Added a small workaround for Quick3D, which writes invalid AC files.
DXF-Loader skips {...} blocks produced by 3DS Max & AutoCad correctly now.
DefaultLogger doesn't repeat identical log messages now.
FindInvalidData-Process removes empty or dummy animation tracks now.
LWO-Loader recognizes complex shaders (such as Fresnel) correctly now. Other LLWO bugs still unsolved.
Fixed bugs in the Ply parser, causing non-triangular faces to crash.
Added some additional helperutilities to StreamReader.
Fixed a bug in ProcessHelper.h causing SPlitLargeMeses and SortBxPType to crash for meshes containing many bones.
Changed OB default material from black to gray.
Added additional test fils: ply (bugfix), ase (animation), QUick3D & Irr (in the works), STL (export from 3DS Max)

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@210 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-31 19:32:00 +00:00
aramis_acg e1261bb9fe Small viewer fixes, at least something is visible now.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@207 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-30 19:51:01 +00:00
ulfjorensen 7101c33401 - further changes to add dummy animation support to the viewer. Still under heavy construction, bone meshes are not rendered correctly with this version at the moment. I'm sorry. Will be fixed soon.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@202 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-29 17:08:03 +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 ce6ce098e9 Removed aiProcess_FindDegenerates from the viewer. The step seems to cause some problems that have not yet been solved.
Added irrmesh (Irrlicht Mesh Format) loader to Assimp. Works quite stable, but no lightmapping support yet.
Removed tinyxml, replaced it with irrxml instead. Added an IOStreamToIrrXML wrapper.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@194 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-24 20:37:54 +00:00
aramis_acg 383a614931 Fixed some minor issues in the AC loader. However, it still crashes with large and complicated models. Line handling is complete.
Moved the code to find degenerated primitives to a separate step that is not anymore active by default. 
The FindInvalidData-Step isn't active by default now. It hast a flag and must be explicitly requested.
Added line and point handling code to the CalcTangentsStep - not yet tested.
Added support for the Sense 8 (WorldToolKit) NFF file format. The format uses the same file extension as the "Neutral File Format" (and is implemented in the same loader). Seems to work well, added test files for it.
Added itoa10 function - so we have itoa on all platforms.
Small optimizations in the SortByPType step.
Fixed the material validation: textured meshes without uv coords cause a warning now.
Fixed a minor isses with the OFF loader.
Added empty unit tests for the new steps - to be filled in the next days. 
Added SceneCombiner.cpp. It contains utilities to join meshes and scenes. The latter will be needed by the LWS loader (LWS files contain references to external LWO files and the LWO loader is already to complicated that it would make sense to add an additional code path to it). Mesh joining is needed by some pp steps, but the code has not yet been moved to its new location.
Added WIP light & camera support to the ASE loader. Works for the moment, but there's much missing. ASE parser refactored, the code is still quite long but at least cleaner. Fixed a bug that caused ASE to import invalid texture coordinates.
Makefiles and VC8 solution are up-to-date. The rest isn't.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@192 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-22 20:06:16 +00:00
aramis_acg 2da2835b29 Fixed bug in the AC loader causing lines to load incorrectly. Seems to work now.
Added some more essential includes to AssimpPCH.hAdded support for line and point meshes to most steps - I did nto yet adapt all unit tests, so meshes with mixed primitive types are not absolutely safe at the moment.
Added camera and light support to the PretransformVert step. Fixed some small inaccuracies and fixed a bug reported by Mark Sibly causing all transformations to be invalid. However the step is nto yet completely correct, there are still some small artifacts.
Updated light and camera data structures, added temporary validation code for the
Renamed AI_SCENE_FLAGS_ANIM_SKELETON_ONLY to a more generic AI_SCENE_FLAGS_INCOMPLETE flag.
Fixed bug in the OFF loader causing meshes with polygons to crash
Added line support to the DXF loader - seems to fail for the moment cause of SortByPType.
Added support for lights and cameras to NFF, implemented another NFF format subtype (file starts with 'nff'). Implemented NFF 'tpp' chunk and a corresponding texture extension.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@185 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-19 11:32:33 +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
ulfjorensen f204ff0d45 Viewer:
- additional fixed to make the viewer work without shaders. Still dummy, though, but now useful enough to allow me to work

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@175 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-13 15:50:12 +00:00
ulfjorensen 366562e5d1 Viewer:
- added hacky support for pre-shader graphics cards. Seems to work, but I'll not know for sure until I acutally test it on such a crippled hardware.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@174 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-09 21:18:59 +00:00