⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lightengine.h

📁 是3D游戏一书中所讲的游戏引擎fly3D 包括fly3D引擎的源码及应用此引擎开发出来的游戏实例 有fly3D引擎的教程,易于step by step跟学
💻 H
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -