Files
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

76 lines
1.9 KiB
C++

/**********************************************************************
*<
FILE: mtl.h
DESCRIPTION: Material and texture class definitions
CREATED BY: Don Brittain
HISTORY:
*> Copyright (c) 1994, All Rights Reserved.
**********************************************************************/
#if !defined(_MTL_H_)
#define _MTL_H_
#include "tab.h"
#include "BaseInterface.h"
class MtlBase;
#define UVSOURCE_MESH 0 // use UVW coords from a standard map channel
#define UVSOURCE_XYZ 1 // compute UVW from object XYZ
#define UVSOURCE_MESH2 2 // use UVW2 (vertexCol) coords
#define UVSOURCE_WORLDXYZ 3 // use world XYZ as UVW
#ifdef DESIGN_VER
#define UVSOURCE_GEOXYZ 4
#endif
// texture class definition
class TextureInfo : public BaseInterfaceServer {
public:
DllExport TextureInfo();
virtual ~TextureInfo() {};
DllExport TextureInfo& operator=(const TextureInfo &from);
int useTex;
int faceMap;
DWORD_PTR textHandle; // texture handle
int uvwSource;
int mapChannel;
Matrix3 textTM; // texture transform
UBYTE tiling[3]; // u,v,w tiling: GW_TEX_REPEAT, GW_TEX_MIRROR, or GW_TEX_NO_TILING
UBYTE colorOp; // color texture operation
UBYTE colorAlphaSource; // color blend alpha source
UBYTE colorScale; // color scale factor
UBYTE alphaOp; // alpha texture operation
UBYTE alphaAlphaSource; // alpha blend alpha source
UBYTE alphaScale; // alpha scale factor
};
// main material class definition
class Material : public BaseInterfaceServer {
protected:
public:
DllExport Material();
virtual ~Material() {};
DllExport Material& operator=(const Material &from);
Point3 Ka;
Point3 Kd;
Point3 Ks;
float shininess;
float shinStrength;
float opacity;
float selfIllum;
int dblSided;
int shadeLimit;
Tab<TextureInfo> texture;
DllExport BaseInterface *GetInterface(Interface_ID id);
};
#endif // _MTL_H_