Commit Graph

112 Commits (bfb8fd84838cd5ccb980d9a50d50183495131c61)

Author SHA1 Message Date
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
ulfjorensen 487071be77 Bugfix: FCollada's special texture tag "bump" now maps to aiTEXTURE_NORMAL. Thanks to agent8261 for the hint
Bugfix: AssimpView now properly skips the leading quotation mark when being executed with a file

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1078 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-09-14 09:41:48 +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 2ffac898d6 [3393728] [PATCH 1/2] ommit->omit and splitted->split
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1064 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-20 22:00:33 +00:00
aramis_acg 56098cd33c # fix license headers on some of the AssimpView units. These claimed to be LGPLed, but in fact they are BSD as everything else.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1063 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-20 12:58:12 +00:00
aramis_acg 1ac640f08b # fix small layout issue in assimpview
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@967 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 20:03:26 +00:00
aramis_acg 9d0d06d637 - assimp_view: add support for Debone pp step.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@949 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-15 15:15:06 +00:00
aramis_acg 2e2cb8ea79 # fix crash when attempting to export without having a model loaded.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@941 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-03 18:42:03 +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
aramis_acg e6c0dbd35c - rework AssimpView GUI.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@933 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-03 11:35:19 +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
kimmi 45fca4b005 BUGFIX : Fix compile error on SunOS xentros 5.11: symbol conflict.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@896 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-01-23 22:49:02 +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 76a733e2f4 - fix _DEBUG/DEBUG inconsistencies in favour of _DEBUG. Thanks to Carsten Fuchs to point it out!
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@869 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-11-26 11:30:25 +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 693a3a039d BlenderLoader: don't output diffuse color if it is all black. Seems to be Blenders way of telling us there is no diffuse color.
AssimpView: add 'no transparency' option in UI and implement underlying logic.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@811 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-08-31 17:24:04 +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 827b00226e Fix 3029892: assimpview crashes if the animation slider is touched while no asset is loaded.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@786 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-07-18 21:16:40 +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 6fa8c85f26 assimpview: fix typo in "about" dialog.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@753 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-06-07 16:05:56 +00:00
aramis_acg 7d1af07935 assimpview: reduce verbosity of output.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@738 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-05-26 00:31:53 +00:00
aramis_acg 2a6b4d1d17 assimpview: layout fixes.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@734 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-05-21 23:09:19 +00:00
aramis_acg 3cf20b605d blender loader now loads material assignments.
blender loader no longer produces randomized output in some scenarious. nice side effect of less asthetic diversity: less segfaults.
assimpview is no longer topmost.



git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@732 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-05-21 22:39:31 +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 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 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 1d595e14ad AssimpView-Build: SVNRevision is no longer doubly defined and the corresponding warning is gone.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@660 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-04-10 15:07:00 +00:00
aramis_acg bcf0ddc086 - don't delete the null logger.
- don't leak LogStreamInfo when detaching streams from DefaultLogger.
- detach the stream before deleting it in aiDetachAllLogStreams.
Thanks to Bart Botta for the patch.

- DefaultLogger does not properly delete log streams if they're still attached to it when the logger is destroyed. This is the behaviour specified in the documentation.
- Adapt AssimpView's logger usage, which didn't follow the spec as well.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@659 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-04-10 15:00:36 +00:00
aramis_acg 75c1cc3edd Fix version number in assimpcmd and assimpview.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@645 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-04-04 15:47:46 +00:00
klickverbot ed41aa8ce1 Renamed CMake project to Assimp, as the semi-full name »AssetImporter« was used nowhere else.
Sorry, kimmi, if this was on purpose – feel free to revert.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@578 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-03 22:07:59 +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 1fd3cfd311 MSVC: Add noreturn attribute to aiAssert and ValidateDSProcess::ReportError. This reduces warnings in VS2010's static code analysis tool. Thanks to Chris Maiwald for the patch.
Correct include order in assimp_view.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@539 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-02-05 22:32:19 +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 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 a534c364b2 AssimpView now finds textures stored with their full path in the asset's directory.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@434 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-06-05 01:47:55 +00:00
aramis_acg de14e06805 FIX: Nasty debug-only bug in FindInstancesProcess.
FIX: Crash at ReplaceCurrentTexture().
FIX: Crash at 'compute smooth normals' in AssimpView.
FIX: Obj shininess is now scaled by 4.0.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@421 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-05-16 15:33:01 +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 25088fd7da FIX: IrrMesh lightmap scale factor is imported correctly now.
FIX: aiProcess_TransformUVCoords tried to transform untransformed channels, and 'he' changed their order from time to time.
FIX: Viewer displays lightmap with scaling factor correctly now.
Further work on documentation, material doc is WIP for the moment.
Some improvements to fast_atof.
Updating makeifle.mingw to reflect my new boost location (arg, too lazy to make it better ...). 

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@413 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-05-03 21:49:34 +00:00
aramis_acg 807e2de3f4 Adding some additional check to avoid viewer crashes when the user changes the asset too fast.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@404 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-24 21:43: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
kimmi 7ed81a7273 Bugfix: Add resources to cmake enviroment.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@393 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-18 22:21:14 +00:00
kimmi 0ec4348188 - Add first prototype for CMake enviroment.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@390 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-18 00:10:16 +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 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 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