volfog.h

来自「是3D游戏一书中所讲的游戏引擎fly3D 包括fly3D引擎的源码及应用此引擎」· C头文件 代码 · 共 61 行

H
61
字号
enum classes_types
{
	TYPE_FOGSPHERE=0x140,
	TYPE_FOGBOX,
};

class fogsphere : public bsp_object
{
public:
	fogsphere() { type=TYPE_FOGSPHERE; };
	float fogradius;
	float fogrange;
	float fogdepth;
	vector fogcolor;
	int fogmode;

	void fog_map(light_map *fm);
	int fog_intersect(vector& point,unsigned char& factor);
	int step(int dt);
	int get_custom_param_desc(int i,param_desc *pd);
	bsp_object *clone();
};

class fogbox : public bsp_object
{
public:
	fogbox() { type=TYPE_FOGBOX; };
	float fogsizex;
	float fogsizey;
	float fogsizez;
	float fogrange;
	float fogdepth;
	vector fogcolor;
	int fogmode;
	boundbox bb;
	float bbdiag;

	void fog_map(light_map *fm);
	int fog_intersect(vector& point,unsigned char& factor);
	int step(int dt);
	int get_custom_param_desc(int i,param_desc *pd);
	bsp_object *clone();
};

class fogsphere_desc : public class_desc
{
public:
	void *create() { return new fogsphere; };
	char *get_name() { return "fogsphere"; };
	int get_type() { return TYPE_FOGSPHERE; };
};

class fogbox_desc : public class_desc
{
public:
	void *create() { return new fogbox; };
	char *get_name() { return "fogbox"; };
	int get_type() { return TYPE_FOGBOX; };
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?