Exemple #1
0
    bool Root::init(bool fullscr, int w, int h)
    {
        LOG_INFO("loading root");

        windowWidth = w;
        windowHeight = h;
        fullscreen = fullscr;

        if(!initGLFW()) return false;
        if(!initGLEW()) return false;

        // set GL stuff
        glEnable(GL_DEPTH_TEST);
        glEnable(GL_CULL_FACE);

        glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

        //Call these in the right order: Models need Textures
        TextureManager::shared().initialize();
		//MaterialManager::shared().initialize();
        ModelManager::shared().initialize();

        overlay = new Overlay();
        if(!overlay->init()) return false;

        Interface* interf = new Interface;
        if(!interf->init())
        {
          LOG_INFO("Could not initialize interface");
          return false;
        }
        addFrameListener(interf);

        Console* console = new Console;
        if(!console->init()) 
        {
          LOG_INFO("Could not initialize console");
          return false;
        }
        addFrameListener(console);
        addInputListener(console);
        LOG_INFO("Root initialized");

        return true;
    }
Exemple #2
0
	int Root::initialize()
	{
		if( initialized ){
			Logger::getSingleton().log(Logger::WARNING, "Root object already initialized");
			return 1;
		}
		
		//TODO: Get window width/height from setting file
		if( !window ){
			sf::ContextSettings Settings;
			Settings.depthBits         = 24; // Request a 24 bits depth buffer
			Settings.stencilBits       = 8;  // Request a 8 bits stencil buffer
			Settings.antialiasingLevel = 2;  // Request 2 levels of antialiasing
			//window = new sf::Window(sf::VideoMode(1024, 768, 32), "OpenGL Window", sf::Style::Close, Settings);
            window = new sf::Window(sf::VideoMode::getDesktopMode(), "Motor Project", sf::Style::Close, Settings);
		}

		if( !renderer->initialize(window->getSize().x, window->getSize().y) ){
			cleanup();
			return 0;
		}
		timer->initialize();

		textureManager->initialize();
		materialManager->initialize();
		meshManager->initialize();
		modelManager->initialize();

		currentScene = new Scene;
		addFrameListener(currentScene);
		if( !currentScene->initialize() ){
			cleanup();
			return 0;
		}
        renderer->setTerrain(currentScene->getTerrain());

		renderer->checkErrors();

		Logger::getSingleton().log(Logger::INFO, "Motor initialized");
		
		initialized = true;

		return 1;
	}
Exemple #3
0
    Scene* Root::makeDefaultScene()
    {
        if(!scene) delete scene;

        scene = new Scene;
        if( !scene->isInitialized() )
        {
            LOG_ERROR("Unable to initialize scene");
            delete scene;
            scene = 0;
            return 0;
        }
        else
            addFrameListener(scene);

        LOG_INFO("Made scene");

        return scene;
    }