Files
firestorm/Gameleap/code/mw4/Libraries/3dsmax2/include/TESSINT.H
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

82 lines
1.9 KiB
C++

/**********************************************************************
*<
FILE: tessint.h
DESCRIPTION: include file for gap integration
CREATED BY: Charles Thaeler
HISTORY: created 10 Jan 1997
*> Copyright (c) 1996, All Rights Reserved.
**********************************************************************/
#ifndef TESSINT_H
#define TESSINT_H
#include "max.h"
#include "maxtess.h"
class GmSurface;
// This class describes the parameters for a projective mapper. They
// are set when a UVW mapper modifer is applied.
class UVWMapperDesc {
public:
UVWMapperDesc() {}
UVWMapperDesc(int type, float utile, float vtile, float wtile,
int uflip, int vflip, int wflip, int cap,
const Matrix3 &tm,int channel);
UVWMapperDesc(UVWMapperDesc& m);
void ApplyMapper(Mesh* pMesh);
void InvalidateMapping(Mesh* pMesh);
virtual Point3 MapPoint(Point3 p, Point3 norm);
IOResult Load(ILoad* iload);
IOResult Save(ISave* isave);
private:
int mType;
float mUtile;
float mVtile;
float mWtile;
int mUflip;
int mVflip;
int mWflip;
int mCap;
Matrix3 mTM;
int mChannel;
};
struct SurfTabEntry {
GmSurface *gmsurf;
UVWMapperDesc* mpChannel1Mapper;
UVWMapperDesc* mpChannel2Mapper;
SurfTabEntry() {
gmsurf = NULL;
mpChannel1Mapper = NULL;
mpChannel2Mapper = NULL;
}
};
typedef Tab<SurfTabEntry> SurfTab;
typedef enum {
BEZIER_PATCH,
GMSURFACE,
MAX_MESH
} SurfaceType;
CoreExport TCHAR* GapVersion(void);
CoreExport int GapTessellate(void *surf, SurfaceType type, Matrix3 *otm, Mesh *mesh,
TessApprox *tess, View *view, Mtl* mtl, BOOL dumpMiFile);
CoreExport int GapInit(void); // this should never be used by user code
CoreExport int GapShutdown(void); // this should never be used by user code
#endif