📄 3dsftk.h
字号:
shadowstyle3ds type; /* Either UseShadowMaps or UseRayTraceShadows */
float3ds bias; /* shadow bias factor. */
float3ds raybias; /* shadow ray bais factor. Used in R3 */
short3ds mapsize; /* shadow map size */
float3ds filter; /* shadow filter */
} shadowsets3ds;
typedef struct {
float3ds masterscale; /* Master mesh scale factor */
shadowsets3ds shadow; /* Global shadow settings */
fcolor3ds ambientlight; /* ambient light color */
point3ds oconsts; /* default object constructing axis */
} meshset3ds;
typedef enum
{
NoAtmo, /* no active astmospherics */
UseFog, /* fog astmostpheric */
UseLayerFog, /* layer fog astmostpheric */
UseDistanceCue /* distance cue astmostpheric */
} atmospheretype3ds;
typedef enum
{
NoFall, /* no falloff */
TopFall, /* falloff to the top */
BottomFall /* falloff to the bottom */
} layerfogfalloff3ds;
typedef struct /* fog atmosphere parameters */
{
float3ds nearplane; /* near radius of fog effect */
float3ds neardensity; /* near fog density */
float3ds farplane; /* far radius of fog effect */
float3ds fardensity; /* far fog density */
fcolor3ds fogcolor; /* color of fog effect */
byte3ds fogbgnd; /* True3ds / False3ds "fog background" flag */
} fogsettings3ds;
typedef struct /* layered fog atmosphere parameters */
{
float3ds zmin; /* lower bounds of fog */
float3ds zmax; /* upper bounds of fog */
float3ds density; /* fog density */
fcolor3ds fogcolor; /* fog color */
layerfogfalloff3ds falloff; /* falloff style */
byte3ds fogbgnd; /* True3ds / False3ds "fog background" flag */
} layerfogsettings3ds;
typedef struct /* distance cue atmosphere parameters */
{
float3ds nearplane; /* near radius of effect */
float3ds neardim; /* near dimming factor */
float3ds farplane; /* far radius of effect */
float3ds fardim; /* far dimming factor */
byte3ds dcuebgnd; /* True3ds / False3ds effect the background flag */
} dcuesettings3ds;
typedef struct {
fogsettings3ds fog; /* fog atmostphere settings */
layerfogsettings3ds layerfog; /* layered fog atmosphere parameters */
dcuesettings3ds dcue; /* distance cue atmosphere parameters */
atmospheretype3ds activeatmo; /* The active astmospheric */
} atmosphere3ds;
/* enumerate list of possible backgrounds used in file */
typedef enum
{
NoBgnd,
UseSolidBgnd,
UseVGradientBgnd,
UseBitmapBgnd
} backgroundtype3ds;
typedef struct
{
char3ds *name; /* name of background bitmap */
} bitmapbgnd3ds;
typedef struct
{
fcolor3ds color; /* color of solid background */
} solidbgnd3ds;
typedef struct
{
float3ds gradpercent; /* Placement of mid color band, ranges from 0-1 */
fcolor3ds top; /* color of top band */
fcolor3ds mid; /* color of mid background band */
fcolor3ds bottom; /* color of bottom band */
} vgradientbgnd3ds;
typedef struct {
bitmapbgnd3ds bitmap;
solidbgnd3ds solid;
vgradientbgnd3ds vgradient;
backgroundtype3ds bgndused; /* background in effect */
} background3ds;
/* Used for shading field in material3ds structure */
typedef enum
{
Wire = 0,
Flat = 1,
Gouraud = 2,
Phong = 3,
Metal = 4
} shadetype3ds;
/* Used for tiling field in bitmap3ds structure */
typedef enum
{
Tile = 1,
Decal = 2,
Both = 3
} tiletype3ds;
typedef enum
{
Pyramidal,
SummedArea
} filtertype3ds;
typedef enum
{
RGB,
Alpha,
RGBLumaTint,
AlphaTint,
RGBTint
} tinttype3ds;
/* Used By AddMaterial3ds */
typedef struct {
ubyte3ds firstframe; /* True for First Frame Only */
ubyte3ds flat; /* True for flat mirror reflection */
ulong3ds size; /* Map resolution */
ulong3ds nthframe; /* Map update period */
} acubic3ds; /* Cubic reflection map defintion */
typedef struct {
char3ds name[13]; /* Bitmap file name */
float3ds percent; /* Strength percentage */
tiletype3ds tiling; /* Tile/Decal/Both */
byte3ds ignorealpha;
filtertype3ds filter; /* Pyramidal/Summed Area */
float3ds blur;
byte3ds mirror;
byte3ds negative;
float3ds uscale, vscale;
float3ds uoffset, voffset;
float3ds rotation;
tinttype3ds source; /* RGB/RGB Luma Tint/Alpha Tint/RGB Tint */
fcolor3ds tint1;
fcolor3ds tint2;
fcolor3ds redtint;
fcolor3ds greentint;
fcolor3ds bluetint;
ulong3ds datasize; /* Size of procedural data */
void3ds *data; /* Procedural data */
} bitmap3ds; /* Bit map definition */
/* Structure to all map settings */
typedef struct {
bitmap3ds map; /* The map settings */
bitmap3ds mask; /* The mask settings */
} mapset3ds;
typedef struct {
bitmap3ds map; /* The map settings */
byte3ds useauto; /* True3ds if automatic reflections are being used */
acubic3ds automap; /* Automatic reflection definitions */
bitmap3ds mask; /* The mask settings */
} rmapset3ds;
typedef struct {
char3ds name[17]; /* Name */
fcolor3ds ambient; /* Ambient light color */
fcolor3ds diffuse; /* Diffuse light color */
fcolor3ds specular; /* Specular light color */
float3ds shininess; /* Shininess factor */
float3ds shinstrength; /* Shininess strength */
float3ds blur; /* Blur factor */
float3ds transparency; /* Trasparency factor */
float3ds transfalloff; /* Fallof factor */
float3ds selfillumpct; /* Self illumination percentage */
float3ds wiresize; /* Width of wireframe */
shadetype3ds shading; /* Shading type */
byte3ds useblur; /* Blurring flag */
byte3ds usefall; /* Transparency falloff flag */
byte3ds twosided; /* Two sided material flag */
byte3ds selfillum; /* Self illumination flag */
byte3ds additive; /* Additive transparency flag */
byte3ds usewire; /* Use wireframe rendering */
byte3ds usewireabs; /* Wire size is in units, not pixels. */
byte3ds facemap; /* Face mapping switch */
byte3ds soften; /* Soften switch */
mapset3ds texture; /* Texture map settings */
mapset3ds texture2; /* Second texture map settings */
mapset3ds opacity; /* Opacity map settings */
mapset3ds bump; /* Bump map settings */
mapset3ds specmap; /* Specularity map settings */
mapset3ds shinmap; /* Shininess map settings */
mapset3ds illummap; /* Self illumination map settings */
rmapset3ds reflect; /* Reflection map settings */
} material3ds; /* Material definition */
/* mapinfo3ds - Texture map icon placement */
typedef struct {
ushort3ds maptype; /* Icon type */
float3ds tilex; /* Tiling */
float3ds tiley;
float3ds cenx; /* Position of center */
float3ds ceny;
float3ds cenz;
float3ds scale; /* Icon scaling factor */
float3ds matrix[12]; /* Orientation matrix */
float3ds pw; /* Planar icon width */
float3ds ph; /* Planar icon height */
float3ds ch; /* Cylinder icon height */
} mapinfo3ds;
/* objmat3ds - Material assignments by face */
typedef struct {
char3ds name[17]; /* Material name */
ushort3ds nfaces; /* Number of faces using material */
ushort3ds *faceindex; /* List of faces using material */
} objmat3ds;
/* mesh3ds - Mesh object definition */
typedef struct {
char3ds name[11]; /* Object name */
byte3ds ishidden; /* Hidden object flag */
byte3ds isvislofter; /* Lofter visibility flag */
byte3ds ismatte; /* Matte object flag */
byte3ds isnocast; /* Doesn't cast shadow's flag */
byte3ds isfast; /* Fast display flag */
byte3ds isnorcvshad; /* Doesn't recieve shadows */
byte3ds isfrozen; /* Frozen object flag */
ushort3ds nvertices; /* Vertice count */
point3ds *vertexarray; /* List of vertices */
ushort3ds nvflags; /* Number of vertex flags */
ushort3ds *vflagarray; /* List of vertex flags */
ushort3ds ntextverts; /* Number of texture vertices */
textvert3ds *textarray; /* List of texture coordinates */
byte3ds usemapinfo; /* Boolean for use of mapping icon information */
mapinfo3ds map; /* Mapping icon info */
float3ds locmatrix[12]; /* Object orientation matrix */
ushort3ds nfaces; /* Face count */
face3ds *facearray; /* List of faces */
ulong3ds *smootharray; /* Smoothing group assignment list */
byte3ds useboxmap; /* Boolean used to indicate the use of box mapping */
char3ds boxmap[6][17]; /* Material names used in boxmapping */
ubyte3ds meshcolor; /* UI color assigned to the mesh */
ushort3ds nmats; /* Assigned materials count */
objmat3ds *matarray; /* Material assignment list */
byte3ds useproc; /* Use animated stand-in flag */
ulong3ds procsize; /* Size of animated stand-in data */
char3ds procname[13]; /* Name of animated stand-in procedure */
void3ds *procdata; /* Animated stand-in data */
} mesh3ds;
/* conestyle3ds - Spolight projection cone shape. */
typedef enum
{
Circular,
Rectangular
} conestyle3ds;
/* spotshadow - Spotlight shadow settings */
typedef struct {
byte3ds cast; /* True if spotlight casts shadows */
shadowstyle3ds type; /* UseShadow or UseRayTrace */
byte3ds local; /* True if local shadow settings are being used */
float3ds bias; /* Shadow bias */
float3ds filter; /* Shadow filter */
ushort3ds mapsize; /* Shadow map size */
float3ds raybias; /* Ray tracing shadow bias */
} spotshadow3ds;
/* spotcond3ds - cone visability settings */
typedef struct {
conestyle3ds type; /* Circular or rectangular light cone */
byte3ds show; /* True if cone is visable */
byte3ds overshoot; /* True if cone overshoot is on */
} spotcone3ds;
/* spotproject3ds - spotlight projectio bitmap */
typedef struct {
byte3ds use; /* True if using projector */
char3ds *bitmap; /* Name of projector bitmap */
} spotprojector3ds;
/* spotlight3ds - spotlight settings */
typedef struct
{
point3ds target; /* Spotlight target */
float3ds hotspot; /* Hotspot angle */
float3ds falloff; /* Hotspot falloff */
float3ds roll; /* Roll angle */
float3ds aspect; /* Aspect ratio */
spotshadow3ds shadows;
spotcone3ds cone;
spotprojector3ds projector;
} spotlight3ds;
/* liteattenuate3ds - Light attenuation settings */
typedef struct {
byte3ds on; /* True if light attenuation is on */
float3ds inner; /* Inner range of attenuation */
float3ds outer; /* Outer range of attenuation */
} liteattenuate3ds;
/* light3ds - omni and spotlight settings */
typedef struct {
char3ds name[11]; /* Light name */
point3ds pos; /* Light position */
fcolor3ds color; /* Light color */
float3ds multiplier;/* Light intensity multiplier */
byte3ds dloff; /* True if light is off */
liteattenuate3ds attenuation;
namelist3ds *exclude;
spotlight3ds *spot; /* If not null, then struct is a spotlight, else omni. */
} light3ds;
/* camrange3ds - Camera atomosphere ranges */
typedef struct {
float3ds cam_near; /* Nearest effect radiu */
float3ds cam_far; /* Farthest effect radius */
} camranges3ds;
typedef struct
{
char3ds name[11];
point3ds position;
point3ds target;
float3ds roll;
float3ds fov;
byte3ds showcone;
camranges3ds ranges;
} camera3ds;
typedef struct {
ulong3ds length;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -