| 16 | #include <iostream> |
| 17 | |
| 18 | int main() |
| 19 | { |
| 20 | Ndk::Application app; |
| 21 | |
| 22 | // Mix all sounds in mono (in order to give them 3D position) |
| 23 | Nz::SoundBufferParams soundParams; |
| 24 | soundParams.forceMono = true; |
| 25 | |
| 26 | Nz::SoundBufferManager::SetDefaultParameters(soundParams); |
| 27 | |
| 28 | // Pour commencer le mode vidéo, celui-ci va définir la taille de la zone de rendu et le nombre de bits par pixels |
| 29 | Nz::VideoMode mode = Nz::VideoMode::GetDesktopMode(); // Nous récupérons le mode vidéo du bureau |
| 30 | |
| 31 | // Nous allons prendre les trois quarts de la résolution du bureau pour notre fenêtre |
| 32 | mode.width = 3 * mode.width / 4; |
| 33 | mode.height = 3 * mode.height / 4; |
| 34 | |
| 35 | Nz::ContextParameters targetParams; |
| 36 | targetParams.antialiasingLevel = 0; |
| 37 | |
| 38 | Nz::RenderWindow& window = app.AddWindow<Nz::RenderWindow>(mode, "Nazara demo - Particles", Nz::WindowStyle_Closable, targetParams); |
| 39 | //Nz::RenderWindow& window = app.AddWindow<Nz::RenderWindow>(Nz::VideoMode(1920, 1080), "Nazara demo - Particles", Nz::WindowStyle_Fullscreen, targetParams); |
| 40 | |
| 41 | Ndk::World& world3D = app.AddWorld(); |
| 42 | Ndk::World& world2D = app.AddWorld(); |
| 43 | |
| 44 | std::random_device randomDevice; |
| 45 | |
| 46 | ExampleShared shared; |
| 47 | shared.randomGen.seed(randomDevice()); |
| 48 | shared.target = &window; |
| 49 | shared.world2D = &world2D; |
| 50 | shared.world3D = &world3D; |
| 51 | |
| 52 | shared.demoName = Nz::TextSprite::New(); |
| 53 | shared.demoName->Update(Nz::SimpleTextDrawer::Draw("XX - DemoName", 48)); |
| 54 | |
| 55 | shared.fpsCount = Nz::TextSprite::New(); |
| 56 | shared.fpsCount->Update(Nz::SimpleTextDrawer::Draw("XXXXX FPS", 24)); |
| 57 | |
| 58 | shared.particleCount = Nz::TextSprite::New(); |
| 59 | shared.particleCount->Update(Nz::SimpleTextDrawer::Draw("XXXXX particles", 36)); |
| 60 | |
| 61 | world2D.GetSystem<Ndk::RenderSystem>().SetGlobalUp(Nz::Vector3f::Down()); |
| 62 | //world3D.GetSystem<Ndk::RenderSystem>().ChangeRenderTechnique<Nz::DeferredRenderTechnique>(); |
| 63 | |
| 64 | |
| 65 | Ndk::EntityHandle viewEntity = world2D.CreateEntity(); |
| 66 | viewEntity->AddComponent<Ndk::NodeComponent>(); |
| 67 | |
| 68 | Ndk::CameraComponent& viewer = viewEntity->AddComponent<Ndk::CameraComponent>(); |
| 69 | viewer.SetTarget(&window); |
| 70 | viewer.SetProjectionType(Nz::ProjectionType_Orthogonal); |
| 71 | |
| 72 | shared.viewer2D = viewEntity; |
| 73 | |
| 74 | Ndk::EntityHandle cameraEntity = world3D.CreateEntity(); |
| 75 | cameraEntity->AddComponent<Ndk::NodeComponent>(); |
nothing calls this directly
no test coverage detected