Example #1
0
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();
}
Example #2
0
Sample::~Sample()
{
	enableScriptCamera(false);
}
Example #3
0
Test::~Test()
{
	enableScriptCamera(false);
}