- 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
This commit is contained in:
aramis_acg
2009-03-05 22:32:13 +00:00
parent caaf02b0e4
commit 4bbc03332b
237 changed files with 33463 additions and 2245 deletions

View File

@@ -38,10 +38,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------
*/
/** @file Defines chunk constants used by the LWO file format
/** @file LWOFileData.h
* @brief Defines chunk constants used by the LWO file format
The chunks are taken from the official LightWave SDK headers.
Original copyright notice: "Ernie Wright 17 Sep 00"
*/
#ifndef AI_LWO_FILEDATA_INCLUDED
@@ -56,6 +56,7 @@ Original copyright notice: "Ernie Wright 17 Sep 00"
// internal headers
#include "IFF.h"
#include "LWOAnimation.h"
namespace Assimp {
namespace LWO {
@@ -254,29 +255,45 @@ namespace LWO {
*/
struct Face : public aiFace
{
//! Default construction
Face()
: surfaceIndex (0)
, smoothGroup (0)
, type (AI_LWO_FACE)
{}
Face(const Face& f)
{
//! Construction from given type
Face(uint32_t _type)
: surfaceIndex (0)
, smoothGroup (0)
, type (_type)
{}
//! Copy construction
Face(const Face& f) {
*this = f;
}
//! Zero-based index into tags chunk
unsigned int surfaceIndex;
//! Smooth group this face is assigned to
unsigned int smoothGroup;
Face& operator=(const LWO::Face& f)
{
//! Type of face
uint32_t type;
//! Assignment operator
Face& operator=(const LWO::Face& f) {
aiFace::operator =(f);
surfaceIndex = f.surfaceIndex;
smoothGroup = f.smoothGroup;
type = f.type;
return *this;
}
};
// ---------------------------------------------------------------------------
/** \brief Base structure for all vertex map representations
*/
@@ -473,8 +490,9 @@ struct Clip
} type;
Clip()
: type (UNSUPPORTED)
, idx (0)
: type (UNSUPPORTED)
, idx (0)
, negate (false)
{}
//! path to the base texture -
@@ -485,6 +503,9 @@ struct Clip
//! index of the clip
unsigned int idx;
//! Negate the clip?
bool negate;
};
@@ -529,6 +550,7 @@ struct Surface
, mIOR (1.f) // vakuum
, mBumpIntensity (1.f)
, mWireframe (false)
, mAdditiveTransparency (10e10f)
{}
//! Name of the surface
@@ -571,6 +593,9 @@ struct Surface
//! Wireframe flag
bool mWireframe;
//! Intensity of additive blending
float mAdditiveTransparency;
};
// ---------------------------------------------------------------------------
@@ -592,7 +617,7 @@ typedef std::vector < WeightChannel > WeightChannelList;
typedef std::vector < VColorChannel > VColorChannelList;
typedef std::vector < UVChannel > UVChannelList;
typedef std::vector < Clip > ClipList;
typedef std::vector < Envelope > EnvelopeList;
// ---------------------------------------------------------------------------
/** \brief Represents a layer in the file