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となる.