lightengine.h

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

H
51
字号
struct reta
{
	int sizex, sizey;
	int offsetx, offsety, offsetz;
};


class retb
{
public:
	retb();
	virtual ~retb();
	void add(struct reta *r);
	int calc(int max_sx, int max_sy);

private:
	bool arrumar(struct reta *r);
	int procura(int sx, int sy);

	struct reta **l;
	int nl;
};

class lightEngine : public flyEngine
{
public:
	unsigned *gltex;
	int seltex,totlmindx;
	unsigned char *pixel_flags;
	int *lm_flags;

	void mark_used_bsp_faces(bsp_node *n);
	void clear_lightmaps(unsigned char pixel_light);
	static_mesh *get_object(bsp_node *n);
	
	void create_index_lightmaps();
	
	boundbox compute_bbox(int *facelist,int nf);
	int compute_facelist(int facenum,int *facelist);
	int compute_lightmap_uv(boundbox bb,int *facelist,int nf);
	void compute_lightmaps();
	
	void apply_light(bsp_node *n,vector& pos,vector& color,float rad);
	void light(char *f);

	void light_lightmaps();
	void create_lightmaps();

	void sort_faces(bsp_node *n);
};

⌨️ 快捷键说明

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