MCPcopy Create free account
hub / github.com/axmolengine/axmol / createWorld3D

Method createWorld3D

tests/cpp-tests/Source/Scene3DTest/Scene3DTest.cpp:387–463  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

385}
386
387void Scene3DTestScene::createWorld3D()
388{
389 // create skybox
390
391 // create the second texture for cylinder
392 _textureCube = TextureCube::create("MeshRendererTest/skybox/left.jpg", "MeshRendererTest/skybox/right.jpg",
393 "MeshRendererTest/skybox/top.jpg", "MeshRendererTest/skybox/bottom.jpg",
394 "MeshRendererTest/skybox/front.jpg", "MeshRendererTest/skybox/back.jpg");
395 // set texture parameters
396 Texture2D::TexParams tRepeatParams;
397 tRepeatParams.magFilter = backend::SamplerFilter::LINEAR;
398 tRepeatParams.minFilter = backend::SamplerFilter::LINEAR;
399 tRepeatParams.sAddressMode = backend::SamplerAddressMode::MIRROR_REPEAT;
400 tRepeatParams.tAddressMode = backend::SamplerAddressMode::MIRROR_REPEAT;
401 _textureCube->setTexParameters(tRepeatParams);
402
403 // add skybox
404 _skyBox = Skybox::create();
405 _skyBox->setCameraMask(s_CM[LAYER_BACKGROUND]);
406 _skyBox->setTexture(_textureCube);
407
408 // create terrain
409 Terrain::DetailMap r("TerrainTest/dirt.jpg");
410 Terrain::DetailMap g("TerrainTest/Grass2.jpg", 10);
411 Terrain::DetailMap b("TerrainTest/road.jpg");
412 Terrain::DetailMap a("TerrainTest/GreenSkin.jpg", 20);
413 Terrain::TerrainData data("TerrainTest/heightmap16.jpg", "TerrainTest/alphamap.png", r, g, b, a, Size(32, 32),
414 40.0f, 2);
415 _terrain = Terrain::create(data, Terrain::CrackFixedType::SKIRT);
416 _terrain->setMaxDetailMapAmount(4);
417 _terrain->setDrawWire(false);
418
419 _terrain->setSkirtHeightRatio(3);
420 _terrain->setLODDistance(64, 128, 192);
421
422 // create player
423 _player = Player::create("MeshRendererTest/girl.c3b", _gameCameras[CAMERA_WORLD_3D_SCENE], _terrain);
424 _player->setScale(0.08f);
425 _player->setPositionY(_terrain->getHeight(_player->getPositionX(), _player->getPositionZ()));
426
427 auto animation = Animation3D::create("MeshRendererTest/girl.c3b", "Take 001");
428 if (animation)
429 {
430 auto animate = Animate3D::create(animation);
431 _player->runAction(RepeatForever::create(animate));
432 }
433 // add a particle 3d above player
434 auto rootps =
435 PUParticleSystem3D::create("Particle3D/scripts/blackHole.pu", "Particle3D/materials/pu_mediapack_01.material");
436 rootps->setScale(2);
437 rootps->setPosition3D(Vec3(0, 150, 0));
438 auto moveby = MoveBy::create(2.0f, Vec2(50.0f, 0.0f));
439 auto moveby1 = MoveBy::create(2.0f, Vec2(-50.0f, 0.0f));
440 rootps->runAction(RepeatForever::create(ax::Sequence::create(moveby, moveby1, nullptr)));
441 rootps->startParticleSystem();
442
443 _player->addChild(rootps, 0);
444

Callers

nothing calls this directly

Calls 15

createFunction · 0.85
setMaxDetailMapAmountMethod · 0.80
setDrawWireMethod · 0.80
setSkirtHeightRatioMethod · 0.80
setLODDistanceMethod · 0.80
getPositionZMethod · 0.80
SizeFunction · 0.50
Vec3Function · 0.50
Vec2Function · 0.50
setTexParametersMethod · 0.45
setCameraMaskMethod · 0.45
setTextureMethod · 0.45

Tested by

no test coverage detected