/*** Inicialización de recursos ***/ void Init( void ) { // Luz global COLOR ambColor = BLACK; // INICIALIZANDO FUENTE /* InitFont(WIDTH, HEIGHT); arialfont = OpenFont("fonts/arial.ttf", 18); SetFontStyle(arialfont, TTF_STYLE_BOLD); */ // Inicio OpenGL InitOpenGL( WIDTH, HEIGHT, BPP, DEPTH, FULLSCREEN ); SetOpenGL( WIDTH, HEIGHT, (GLfloat*)&ambColor, (GLfloat*)&ambColor ); // Incio OpenAL InitOpenAL( NULL ); // Escondo el cursor SDL_ShowCursor( SDL_DISABLE ); //Transparencia glBlendEquation( GL_ADD); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); //Espada glPushMatrix(); //LoadModel( "models/flyingSword.3DS", "textures", GL_FALSE, &modeloEspada ); LoadModel( "models/sword7.3ds", "textures", GL_FALSE, &modeloEspada ); glTranslatef(1.0f, 0.0f, -3.0f); //glScalef(0.01f, 0.01f, 0.01f); BoundingVolumes(&modeloEspada, &volumesEspada, NULL, GL_TRUE); glPopMatrix(); // Terreno InitTerrain(&terrain,"resources/hell.raw", "textures/greengrass.jpg",GL_FALSE, &terrainMtrl,64,64,50.0f,1.0f); // agua // InitTerrain(&agua,"resources/agua.raw", "textures/agua.png",GL_FALSE, &aguaMtrl,64,64,50.0f,0.1f); // SKYBOX InitSkybox(&skybox,"textures/skybox.png"); //HUD mapTex = LoadTexture("textures/greenhell.png"); dotTex = LoadTexture("textures/Dot.png"); water = LoadTexture("textures/sprite.png"); hudNull = LoadTexture("textures/hud.png"); UnderwaterTex =LoadTexture("textures/subacuatica.png"); oxBar = LoadTexture("textures/bluebar.png"); }
// Called when the game starts or when spawned void AGameplayPawn::BeginPlay() { Super::BeginPlay(); InitTerrain(); InitFluids(); //InitIndestructible(); InitFloating(); InitWinning(); }
int main (int argc, char *argv[]) { InitImg(); InitTerrain(); CTrackEdUI TrackEdUI; TrackEdUI.show( argc, argv ); // Fl_Tooltip::enable(false); int result = Fl::run(); FreeImg(); FreeTerrain(); return result; }
void init(void) { printf("i1 \n"); sfMakeRasterFont(); sphere = LoadModelPlus("./OBJ/groundsphere.obj"); camera = lookAt(0.0,2.0,-8.0, 0.0,0.0,0.0, 0.0,1.0,0.0); srand (time(NULL)); skytot = T(0.0,0.0,0.0); lavatot = Mult(T(0,-1, 0), S(20, 0, 20)); // GL inits glClearColor(0.2,0.2,0.5,0); glEnable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); printError("GL inits"); projectionMatrix = frustum(-0.1, 0.1, -0.1, 0.1, 0.2, 100.0); printf("i2 \n"); // Load and compile shader program = loadShaders("./Shader/terrain.vert", "./Shader/terrain.frag"); skyprogram = loadShaders("./Shader/sky.vert", "./Shader/sky.frag"); glUseProgram(program); printError("init shader"); glUniformMatrix4fv(glGetUniformLocation(program, "projMatrix"), 1, GL_TRUE, projectionMatrix.m); glUniform1i(glGetUniformLocation(program, "tex"), 0); // Texture unit 0 LoadTGATextureSimple("./TGA/lavaroad.tga", &tex1); LoadTGATextureSimple("./TGA/conc.tga", &tex2); printf("i3 \n"); // Load terrain data InitTerrain(); LoadTGATextureData("./TGA/fft-terrain.tga", &ttex); printError("init terrain"); //Body LoadTGATextureSimple("./TGA/tex_01_lfy_weapon1out.tga", &tex_head); LoadTGATextureSimple("./TGA/red.tga", &tex_body); LegR = LoadModelPlus("./OBJ/LegR.obj");//Load Right Leg LegL = LoadModelPlus("./OBJ/LegL.obj");//Load Left Leg Body = LoadModelPlus("./OBJ/groundsphere.obj"); //Load Body & head ArmR = LoadModelPlus("./OBJ/armr.obj");//Load Right Arm ArmL = LoadModelPlus("./OBJ/arml.obj");//Load Right Arm printf("i4 \n"); //boost & Obst LoadTGATextureSimple("./TGA/red.tga", &startex); LoadTGATextureSimple("./TGA/speed.tga", &speedtex); LoadTGATextureSimple("./TGA/imortal.tga", &imortaltex); //LoadTGATextureSimple("./TGA/spike.tga", &gatetex); LoadTGATextureSimple("./TGA/dirt.tga", &gatetex); //NY ANDREAS Star = LoadModelPlus("./OBJ/groundsphere.obj");//extra points SpeedObj = LoadModelPlus("./OBJ/groundsphere.obj");//speed Imortal = LoadModelPlus("./OBJ/groundsphere.obj");//speed //Gate = LoadModelPlus("./OBJ/spike.obj");//gate Gate = LoadModelPlus("./OBJ/gatecube.obj");//gate //NY ANDREREAS // Lava Ground Lava = LoadModelPlus("./OBJ/ground.obj");//load ground aka lava LoadTGATextureSimple("./TGA/lava.tga", &lavatex); //load the lava texture //Sky skybox = LoadModelPlus("./OBJ/cubeplus.obj");//Load skybox glUseProgram(skyprogram); glUniformMatrix4fv(glGetUniformLocation(skyprogram, "projMatrix"), 1, GL_TRUE, projectionMatrix.m); LoadTGATextureSimple("./TGA/skybox2.tga", &skytex); // Texture unit 1 glUseProgram(program); }
SceneWorld::SceneWorld(PseuGUI *g) : Scene(g) { DEBUG(logdebug("SceneWorld: Initializing...")); debugmode = false; _freeCameraMove = true; // store some pointers right now to prevent repeated ptr dereferencing later (speeds up code) gui = g; wsession = gui->GetInstance()->GetWSession(); world = wsession->GetWorld(); mapmgr = world->GetMapMgr(); movemgr = world->GetMoveMgr(); mychar = wsession->GetMyChar(); ASSERT(mychar); _CalcXYMoveVect(mychar->GetO()); old_char_o = mychar->GetO(); if(soundengine) { soundengine->stopAllSounds(); } ILightSceneNode* light = smgr->addLightSceneNode(0, core::vector3df(0,0,0), SColorf(255, 255, 255, 255), 1000.0f); SLight ldata = light->getLightData(); ldata.AmbientColor = video::SColorf(0.2f,0.2f,0.2f); ldata.DiffuseColor = video::SColorf(1.0f,1.0f,1.0f); ldata.Type = video::ELT_DIRECTIONAL; ldata.Position = core::vector3df(-0.22f,-1,0); light->setLightData(ldata); eventrecv = new MyEventReceiver(); device->setEventReceiver(eventrecv); eventrecv->mouse.wheel = MAX_CAM_DISTANCE; camera = new MCameraFPS(smgr); camera->setNearValue(0.1f); f32 farclip = instance->GetConf()->farclip; if(farclip < 50) farclip = TILESIZE; f32 fov = instance->GetConf()->fov; if(!iszero(fov)) { logdetail("Camera: Field of view (FOV) = %.3f",fov); camera->setFOV(fov); } camera->setFarValue(farclip); debugText = guienv->addStaticText(L"< debug text >",rect<s32>(0,0,driver->getScreenSize().Width,30),true,true,0,-1,true); envBasicColor = video::SColor(0,100,101,190); smgr->setShadowColor(); // set shadow to default color sky = NULL; selectedNode = oldSelectedNode = NULL; //sky = smgr->addSkyDomeSceneNode(driver->getTexture("data/misc/sky.jpg"),64,64,1.0f,2.0f); /* // TODO: for now let irrlicht draw the skybox sky->grab(); // if the camera clip is set too short, the sky will not be rendered properly. sky->remove(); // thus we grab the sky node while removing it from rendering. */ f32 fogfar = instance->GetConf()->fogfar; if(fogfar < 30) fogfar = farclip * 0.7f; f32 fognear = instance->GetConf()->fognear; if(fognear < 10) fognear = fogfar * 0.75f; logdetail("GUI: Using farclip=%.2f fogfar=%.2f fognear=%.2f", farclip, fogfar, fognear); driver->setFog(envBasicColor, true, fognear, fogfar, 0.02f); // setup cursor cursor->setOSCursorVisible(false); cursor->addMouseCursorTexture("data/misc/cursor.png", true); cursor->setVisible(true); InitTerrain(); UpdateTerrain(); RelocateCameraBehindChar(); DEBUG(logdebug("SceneWorld: Init done!")); }
baiscobj::baiscobj() { g_eye[0]= MAP;// g_eye[2]=-MAP;// g_Angle=0;// g_elev=-0;// count = 0; //////////////////////////////////////////////////////////////////////// char appdir[256]; GetCurrentDirectory(256,appdir); CString dir=appdir; //if(dir.Right(8)!="运行程序") //SetCurrentDirectory("../运行程序"); // SetCurrentDirectory("h:/"); //////////////////////////////////////////////////////////////////////// g_imageData = LoadBit("Terrain1.bmp",&g_bit); //调等高地形图 LoadT8("sand2.bmp", g_cactus[0]); //地面帖图 LoadT8("2RBack.bmp",g_cactus[2]); //天空贴图后 LoadT8("2Front.bmp",g_cactus[3]); //天空贴图前 LoadT8("2Top.bmp", g_cactus[4]); //天空贴图顶 LoadT8("2Left.bmp", g_cactus[5]); //天空贴图左 LoadT8("2Right.bmp",g_cactus[6]); //天空贴图右 isBlack = false; LoadT16("ant_food2.bmp",g_cactus[11]); //树1帖图 LoadT16("ant_cave4.bmp",g_cactus[12]); //树2帖图 LoadT16("CACTUS2.BMP",g_cactus[13]); //树3帖图 LoadT16("CACTUS3.BMP",g_cactus[14]); //树4帖图 LoadT16("piedra01.bmp",g_cactus[15]); //障碍1贴图 LoadT16("piedra02.bmp",g_cactus[16]); //障碍1贴图 LoadT16("piedra03.bmp",g_cactus[17]); //障碍1贴图 LoadT16("piedra04.bmp",g_cactus[18]); //障碍1贴图 LoadT16("piedra05.bmp",g_cactus[19]); //障碍1贴图 LoadT16("piedra06.bmp",g_cactus[20]); //障碍1贴图 LoadT16("piedra07.bmp",g_cactus[21]); //障碍1贴图 LoadT16("piedra08.bmp",g_cactus[22]); //障碍1贴图 LoadT16("piedra09.bmp",g_cactus[23]); //障碍9贴图 InitTerrain(0.8);//初始化地面 //m_3ds=new CLoad3DS(); //load3dobj("data/3ds/","航天发射台.3DS",0); //load3dobj("data/3ds/","直升机0.3ds",1); //load3dobj("data/3ds/","飞机1.3ds",2); //LoadT16("images/grab0.BMP", m_anmobj->impostors[0]); // //LoadT16("images/grab1.BMP",m_anmobj->impostors[1]); // // LoadT16("images/grab2.BMP",m_anmobj->impostors[2]); // // LoadT16("images/grab3.BMP",m_anmobj->impostors[3]); // //LoadT16("images/grab4.BMP",m_anmobj->impostors[4]); // //LoadT16("images/grab5.BMP",m_anmobj->impostors[5]); // // LoadT16("images/grab6.BMP",m_anmobj->impostors[6]); // // // LoadT16("data/images/grab0_NRM.BMP", m_anmobj->normalmaps[0]); // // LoadT16("data/images/grab1_NRM.BMP",m_anmobj->normalmaps[1]); // // LoadT16("data/images/grab2_NRM.BMP",m_anmobj->normalmaps[2]); // // LoadT16("data/images/grab3_NRM.BMP",m_anmobj->normalmaps[3]); // // LoadT16("data/images/grab4_NRM.BMP",m_anmobj->normalmaps[4]); // // LoadT16("data/images/grab5_NRM.BMP",m_anmobj->normalmaps[5]); // // LoadT16("data/images/grab6_NRM.BMP",m_anmobj->normalmaps[6]); // //m_anmobj->model[0]=NULL; m_anmobj->model[1]=NULL; //m_anmobj->texture[0]=NULL; m_anmobj->texture[1]=NULL; //m_anmobj->getobj("data/模型/士兵0/"); //士兵模型士兵0 //for(int i=0;i<RNSHU;i++) //{m_anmobj->man[i].qd[0]=MAP*1.5+rand()%200;//MAP+80+rand()%20; //起点manqdx // m_anmobj->man[i].qd[1]=MAP-100+rand()%200;//MAP+i*0.5;//-10+i*1;// // m_anmobj->man[i].zd[0]=MAP*0.5+rand()%30;//MAP+20-rand()%5; //终点manzdx // m_anmobj->man[i].zd[1]=MAP-100+rand()%200;//MAP+i*0.5;//-10+i*1;// // m_anmobj->man[i].dz=1; //初始动作,跑。 //} //LoadT16("piedra01.bmp",tex_obs); //isBlack = true; LoadT16("ant_new.bmp",tex_ant); LoadT16("ant_new3.bmp",tex_ant2); glEnable(GL_TEXTURE_2D); }