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

📄 scene.h

📁 environment_mapped_bump_mapping using opengl
💻 H
字号:
//////////////////////////////////////////////////////////////////////
// Naprogramoval: Marek Mizanin, mizanin@szm.sk, mizanin@stonline.sk
//                www.mizanin.szm.sk, ICQ: 158283635
//
//
//////////////////////////////////////////////////////////////////////
//	Pouzivane klavesy:
//	
//	H - help
//
//////////////////////////////////////////////////////////////////////
//
// scene.h: interface for the scene class.
//
//////////////////////////////////////////////////////////////////////

#ifndef _SCENE_H
#define _SCENE_H

#include "init.h"				// zakladne nastavenia a zakladne hlavickove subory
								// vazby na init.cpp

#include <stdlib.h>				// standardna kniznica
#include <stdarg.h>				// --
#include <stdio.h>				// --
#include <math.h>				// matematicka kniznica
#include "Timer.h"				// trieda Timer pre pracu z casovacom
#include "bitmap_Font.h"		// trieda pre vypisovanie textu pomocou bitmapoveho fontu
#include "camera.h"				// trieda pre transformacie


#include "Vector.h"
#include "Matrix.h"
//#include "3ds1.h"
#include "texture.h"
#include "Util.h"

#ifndef PI180
#define PI180	0.0174532925199432957692369076848861f	// pi / 180
#endif

class scene
{
	Font	*font0;
	Timer	timer0;
	camera	*c;
	float	fps;
	uFPS_counter fps_counter;
	float	clip_distance;				// orezavacia vzdialenost
	bool	svetlo,texturovanie,ciary,kurzor;
	texture	zem;
	texture dudv;
	texture spheremap;
	texture skybox[6];
	texture cubemap;
	int renderableTexture,filterForCubeMap;
private:
	char	text[100];					// text pre konverziu z float na text
	
	POINT MouseBod;
	int mouse_x,mouse_y,sirka,vyska;
public:
	void CubeMapEnd();
	void CubeMapBegin();
	void BuildDisplayLists();
	int GetVariable(char *temp, FILE *sub, char* varname, char* varvalue, int size_strings);
	int ReadInit(char* filename);
	int LoadTextureSkyBox( char *directory, char *extension, texture* tex, int repeat=0, int filter=3, int compression=0 );
	void DrawQuad( CVector p, CVector n, CVector s, CVector t);
	void DrawSkyBox( texture *tex, float size=10);
	void SaveScreen_BMP(int x0=0, int y0=0, int scr_size_x=screen_x, int scr_size_y=screen_y);
	void Vypis_vektor( const CVector &a, int stlpec, int riadok, char* meno);
	void Vypis_maticu( const CMatrix4 &m, int stlpec, int riadok, char* nadpis=NULL);
	void Paint_axes( float size=2, float r=1, float g=0, float b=0);
	void Paint_vector( const CVector &v, float size=1, float r=1, float g=0, float b=0);
	void Paint_point( const CVector &v, float size=1, float r=1, float g=1, float b=1);
	void SaveScreen_RAW();
	void SaveScreen_TGA();
	void ReSizeGLScene( int width=screen_x, int height=screen_y);
	void ReSizeGLScene_2D(int width, int height);	// funkcia pro zmenu velkosti okna
	void ReSizeGLScene_3D(int width, int height);	// funkcia pro zmenu velkosti okna
	void DrawGLScene(void);
	scene();
	~scene();
private:
	void KillGL(void);
	void InitGL(void);
	void Prepni_do_2D(void);
	void Prepni_do_3D(void);
	void Kurzor(void);			// zisti poziciu mysi a zobrazy kurzor
};

#define velkost_kurzoru 5

#endif

⌨️ 快捷键说明

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