Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jun 22, 2006, 3:14:58 PM (18 years ago)
Author:
bensch
Message:

merged the bsp-model-stuff back here

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lib/graphics/importer/md3/md3_model.h

    r8490 r8724  
    1313
    1414
     15#define FRACTION 0.34f
     16
     17
    1518namespace md3
    1619{
     
    1821
    1922class MD3Data;
     23class MD3BoneFrame;
     24class MD3Mesh;
     25class MD3Tag;
     26class MD3AnimationCfg;
     27class MD3Animation;
     28
     29struct MD3Normal;
     30
     31
     32typedef enum MD3FrameHandling {
     33  MD3_ANIM_NEXT = 0,          //!< swith to the next frame
     34  MD3_ANIM_PREVIOUS,          //!< swith to the previous frame
     35  MD3_ANIM_REWIND             //!< rewind the animation
     36};
     37
    2038
    2139class MD3Model : public InteractiveModel
     
    2644    ~MD3Model();
    2745
    28     virtual void tick(float dt) {}
    2946    virtual void setAnimation(int animNum, int playbackMode = 0) {}
     47    virtual int getAnimation() { return 0;}
     48
     49    virtual void tick(float dt);
     50    virtual void draw() const;
     51
     52
     53  private:
     54
     55    void autoAssemblePlayerModel(std::string filename, float scaling);
     56
     57    void draw(MD3Data* data) const;
     58    void tick(float dt, MD3Data* data);
     59
     60
     61    void drawMesh(MD3Mesh* mesh, sVec3D* frame) const;
     62    void drawVertexNormals(sVec3D* frame, MD3Normal* normals) const;
     63    void drawBoneFrame(MD3BoneFrame* frame) const;
     64
     65
     66    MD3BoneFrame* interpolateBoneFrame(MD3Data* data, MD3BoneFrame* currBoneFrame, MD3BoneFrame* nextBoneFrame, float frac);
     67    sVec3D* interpolateMeshFrame(MD3Data* data, sVec3D* currMeshFrame, sVec3D* nextMeshFrame, float frac, MD3Mesh* mesh, int i);
     68    MD3Normal* interpolateVertexNormals(MD3Data* data, MD3Normal* curNormals, MD3Normal* nextNormals, float frac, MD3Mesh* mesh, int i);
     69    float* interpolateTransformation(MD3Data* data, MD3Tag* currFrameTag, MD3Tag* nextFrameTag, float frac, int i);
     70
     71
     72    void interpolate(MD3Data* data, MD3Animation* anim, int op, bool bInterpolate);
     73
     74    void visit(MD3Data* data, float time);
     75    int next(MD3Data* data, int nr);
     76    int prev(MD3Data* data, int nr);
     77    void doOp(MD3Data* data, float time);
     78
    3079
    3180  private:
    3281    MD3Data*            md3Data;           //!< reference to the md3 model data
     82
     83    bool                bDrawBones;        //!< draws the bone frames too
     84    bool                bDrawNormals;      //!< draw the normals
     85
     86    MD3AnimationCfg*    config;            //!< the config file parsed
     87
     88    float               time;
     89
    3390};
     91
    3492
    3593}
Note: See TracChangeset for help on using the changeset viewer.