Exemplo n.º 1
0
/*** 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");
    
}
Exemplo n.º 2
0
// Called when the game starts or when spawned
void AGameplayPawn::BeginPlay()
{
	Super::BeginPlay();
	InitTerrain();
	InitFluids();
	//InitIndestructible();
	InitFloating();
	InitWinning();
}
Exemplo n.º 3
0
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;
}
Exemplo n.º 4
0
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);
    
}
Exemplo n.º 5
0
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!"));
}
Exemplo n.º 6
0
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);
}