MCPcopy Create free account
hub / github.com/NazaraEngine/NazaraEngine / main

Function main

examples/Particles/main.cpp:18–200  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16#include <iostream>
17
18int 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>();

Callers

nothing calls this directly

Calls 15

AttachMethod · 0.80
push_backMethod · 0.80
PollEventMethod · 0.80
CopyToImageMethod · 0.80
DisplayMethod · 0.80
UpdateMethod · 0.45
SetTargetMethod · 0.45
SetPositionMethod · 0.45
GetHeightMethod · 0.45
RunMethod · 0.45
EnableMethod · 0.45
IsEnabledMethod · 0.45

Tested by

no test coverage detected