1#ifndef  __JBXL_MATERIAL_PARAM_H_ 
    2#define  __JBXL_MATERIAL_PARAM_H_ 
   13#define  MATERIAL_ALPHA_NONE            0 
   14#define  MATERIAL_ALPHA_BLENDING        1 
   15#define  MATERIAL_ALPHA_MASKING         2 
   16#define  MATERIAL_ALPHA_EMISSIVE        3       
   19#define  MATERIAL_MAPPING_DEFAULT       0 
   20#define  MATERIAL_MAPPING_PLANAR        2 
   21#define  MATERIAL_MAPPING_SPHERICAL     4       
   22#define  MATERIAL_MAPPING_CYLINDRICAL   6       
   25#define  MATERIAL_ATTR_LEN              24      
   27#define  MATERIAL_ATTR_COLOR_RED        0 
   28#define  MATERIAL_ATTR_COLOR_GREEN      1 
   29#define  MATERIAL_ATTR_COLOR_BLUE       2 
   30#define  MATERIAL_ATTR_TRANSPARENT      3 
   31#define  MATERIAL_ATTR_ALPHACUTOFF      4 
   32#define  MATERIAL_ATTR_SHININESS        5 
   33#define  MATERIAL_ATTR_GLOW             6 
   34#define  MATERIAL_ATTR_BRIGHT           7 
   35#define  MATERIAL_ATTR_LIGHT            8 
   36#define  MATERIAL_ATTR_ALPHAMODE        9 
   38#define  MATERIAL_ATTR_SHIFT_U          13      
   39#define  MATERIAL_ATTR_SHIFT_V          15      
   40#define  MATERIAL_ATTR_SCALE_U          17      
   41#define  MATERIAL_ATTR_SCALE_V          19      
   42#define  MATERIAL_ATTR_ROTATE           21      
   44#define  MATERIAL_ATTR_OBJECT           23      
   98    void    setColor(
double v, 
int c) { 
if(c<0) c = 0; 
else if(c>3) c = 3; 
color[c] = v;}
 
  114    double  getColor(
int c) { 
if(c<0) c = 0; 
else if(c>3) c = 3; 
return color[c];}
 
 
#define MATERIAL_ALPHA_BLENDING
 
void free_Buffer(Buffer *buf)
Buffer型変数のバッファ部を解放する
 
#define copy_s2Buffer(src, dst)
copy_b2Buffer()
 
#define cat_s2Buffer(src, dst)
cat_b2Buffer()
 
#define make_Buffer_bystr(str)
set_Buffer()
 
TextureParam bumpmap
Bumpmap テクスチャ
 
double getGlossiness(void)
 
char * getBase64Params(unsigned char cc='-')
 
char kind
オブジェクトの種類.'O', 'T', 'G', 'E'
 
char * getParamString(void)
 
bool isTransparency(void)
 
bool isSetShininess(void)
 
void printParam(FILE *fp)
 
void setEnvironment(double e)
 
void setFullName(const char *extname)
 
void setParamString(const char *param)
 
void setTextureName(const char *name)
 
void setSpecMapName(const char *name)
 
void addParamString(const char *param)
 
char * getBumpMapName(void)
 
double speclightexp
SpecularLightExponents.
 
double getEnvironment(void)
 
void setSpecExp(double s)
 
void setBumpMapName(const char *name)
 
char * getTextureName(void)
 
Buffer paramstr
パラメータ文字列 (Base64文字列)
 
TextureParam texture
テクスチャ
 
bool isSetTransparent(void)
 
double getShininess(void)
 
void setGlossiness(double g)
 
virtual ~MaterialParam(void)
 
char * getSpecMapName(void)
 
void dup(MaterialParam m)
 
void setShininess(double s)
 
TextureParam specmap
Specular マップ テクスチャ
 
double alphaCutoff
アルファチャンネルの Cutoff値.alphaMode==MATERIAL_ALPHA_MASKING の場合に有効
 
void execFlipV(UVMap< double > *uv, int n)
 
double scaleV
UVマップのスケール (V方向)
 
void addName(const char *nm)
 
int alphaMode
アルファチャンネルのモード
 
void execInvShift(UVMap< double > *uv, int n)
 
void setColor(double r, double g, double b, double a=1.0)
 
void setColor(double v, int c)
 
void setScale(double u, double v)
 
void printParam(FILE *fp)
 
bool alphaChannel
テクスチャデータがアルファチャンネルを持っているかどうか.
 
bool flipV
UVマップで V方向の反転を行うか
 
double shiftV
UVマップのシフト (V方向)
 
void setName(const char *nm)
 
void execShift(UVMap< double > *uv, int n)
 
double scaleU
UVマップのスケール (U方向)
 
void setAlphaCutoff(double m)
 
virtual ~TextureParam(void)
 
void setShift(double u, double v)
 
void setAlphaChannel(bool h)
 
double getAlphaCutoff(void)
 
bool hasAlphaChannel(void)
 
void execInvTrans(UVMap< double > *uv, int n)
Shift -> Scale -> Rotate.
 
Vector< double > getColor(void)
 
void execFlipU(UVMap< double > *uv, int n)
 
void execInvScale(UVMap< double > *uv, int n)
 
void execInvRotate(UVMap< double > *uv, int n)
 
void execRotate(UVMap< double > *uv, int n)
 
void execTrans(UVMap< double > *uv, int n)
Rotate -> Scale -> Shift.
 
double shiftU
UVマップのシフト (U方向)
 
bool flipU
UVマップで U方向の反転を行うか
 
double getTransparent(void)
 
void execScale(UVMap< double > *uv, int n)
 
MaterialParam * newMaterialParam(MaterialParam p)
 
bool isSameMaterial(MaterialParam a, MaterialParam b)
compare each texture names and colors
 
bool isSameTexture(TextureParam a, TextureParam b)
compare texture ma,e and color
 
unsigned char * buf
バッファの先頭へのポインタ.str[bufsz]は必ず 0x00となる.