void TerrainSample::initialize() { // Load scene _scene = Scene::load("res/common/terrain/sample.scene"); _terrain = dynamic_cast<Terrain*>(_scene->findNode("terrain")->getDrawable()); _sky = _scene->findNode("sky"); _sky->setTag("lighting", "none"); // Load shapes Bundle* bundle; bundle = Bundle::create("res/common/sphere.gpb"); _sphere = bundle->loadNode("sphere"); dynamic_cast<Model*>(_sphere->getDrawable())->setMaterial("res/common/terrain/shapes.material#sphere", 0); SAFE_RELEASE(bundle); bundle = Bundle::create("res/common/box.gpb"); _box = bundle->loadNode("box"); dynamic_cast<Model*>(_box->getDrawable())->setMaterial("res/common/terrain/shapes.material#box", 0); SAFE_RELEASE(bundle); // Load font _font = Font::create("res/ui/arial.gpb"); // Setup form _form = Form::create("res/common/terrain/terrain.form"); _form->getControl("plusButton")->addListener(this, Control::Listener::CLICK); _form->getControl("minusButton")->addListener(this, Control::Listener::CLICK); _form->getControl("wireframe")->addListener(this, Control::Listener::VALUE_CHANGED); _form->getControl("patches")->addListener(this, Control::Listener::VALUE_CHANGED); _form->getControl("physics")->addListener(this, Control::Listener::VALUE_CHANGED); _form->getControl("lod")->addListener(this, Control::Listener::VALUE_CHANGED); _form->getControl("culling")->addListener(this, Control::Listener::VALUE_CHANGED); _form->getControl("snapToGround")->addListener(this, Control::Listener::VALUE_CHANGED); _form->getControl("dropSphere")->addListener(this, Control::Listener::CLICK); _form->getControl("dropBox")->addListener(this, Control::Listener::CLICK); _form->getControl("clearAll")->addListener(this, Control::Listener::CLICK); Control* main = _form->getControl("main"); _formSize.set(main->getWidth(), main->getHeight()); // Use script camera for navigation enableScriptCamera(true); setScriptCameraSpeed(20, 80); _directionalLight = _scene->findNode("directionalLight")->getLight(); }
Sample::~Sample() { enableScriptCamera(false); }
Test::~Test() { enableScriptCamera(false); }