@@ -67,80 +67,6 @@ PlayerController::PlayerController(std::shared_ptr<Prisma::Scene> scene) : m_sce
6767
6868 m_interpolator.timeframe (timeframes);
6969
70-
71- if (m_numScene == 0 ) {
72- m_particleController.init (m_scene->root );
73-
74-
75- auto grass1Renderer = std::make_shared<Prisma::Node>();
76-
77- grass1Renderer->name (" Grass1Renderer" );
78-
79- auto grass1Instance = std::make_shared<Prisma::InstancingGrassComponent>();
80-
81- auto grass2Renderer = std::make_shared<Prisma::Node>();
82-
83- grass2Renderer->name (" Grass2Renderer" );
84-
85- auto grass2Instance = std::make_shared<Prisma::InstancingGrassComponent>();
86-
87- std::vector<Prisma::Mesh::MeshData> models;
88- std::vector<Prisma::Mesh::MeshData> models1;
89- auto grass2 = std::dynamic_pointer_cast<Prisma::Mesh>(nodeHelper.find (m_scene->root , " Grass_2.250" )->children ()[0 ]);
90- auto grass1 = std::dynamic_pointer_cast<Prisma::Mesh>(nodeHelper.find (m_scene->root , " Grass_1.250" )->children ()[0 ]);
91-
92- int range = 2000 ;
93-
94- for (int i = 0 ; i < 10000 ; ++i) {
95- // Random translation
96- float x = (std::rand () % range - range / 2 );
97- float z = (std::rand () % range - range / 2 );
98-
99- float x1 = (std::rand () % range - range / 2 );
100- float z1 = (std::rand () % range - range / 2 );
101-
102- glm::mat4 translation = glm::translate (grass2->parent ()->matrix (), glm::vec3 (x, 0 , z)) * glm::rotate (glm::mat4 (1.0 ), glm::radians (static_cast <float >(std::rand () % 360 )), glm::vec3 (0 , 1 , 0 ));
103- glm::mat4 translation1 = glm::translate (grass1->parent ()->matrix (), glm::vec3 (x1, 0 , z1)) * glm::rotate (glm::mat4 (1.0 ), glm::radians (static_cast <float >(std::rand () % 360 )), glm::vec3 (0 , 1 , 0 ));
104-
105- glm::mat4 normalMatrix = glm::transpose (glm::inverse (translation));
106- glm::mat4 normalMatrix1 = glm::transpose (glm::inverse (translation1));
107-
108- models.push_back ({translation, normalMatrix});
109- models1.push_back ({translation1, normalMatrix1});
110- }
111-
112- grass1Instance->mesh (grass1);
113-
114- grass1Instance->models (models);
115-
116- grass1Renderer->addComponent (grass1Instance);
117-
118- m_scene->root ->addChild (grass1Renderer);
119-
120- grass2Instance->mesh (grass2);
121-
122- grass2Instance->models (models1);
123-
124- grass2Renderer->addComponent (grass2Instance);
125-
126- m_scene->root ->addChild (grass2Renderer);
127-
128- auto water = std::make_shared<Prisma::Node>();
129-
130- water->name (" WaterNode" );
131-
132- auto waterComponent = std::make_shared<Prisma::WaterComponent>();
133-
134- waterComponent->nodePosition (m_bboxMesh);
135-
136- waterComponent->radius (5 );
137-
138- water->addComponent (waterComponent);
139-
140- m_scene->root ->addChild (water);
141-
142- }
143-
14470 m_sphereMesh->visible (false );
14571
14672 for (int i = 0 ; i < m_maxBalls; i++) {
@@ -169,7 +95,7 @@ PlayerController::PlayerController(std::shared_ptr<Prisma::Scene> scene) : m_sce
16995 }
17096 });*/
17197 }
172-
98+ createParticles ();
17399 createCamera ();
174100 createKeyboard ();
175101}
@@ -268,10 +194,6 @@ void PlayerController::scene(std::shared_ptr<Prisma::Scene> scene) {
268194}
269195
270196void PlayerController::update () {
271-
272- if (m_numScene == 0 ) {
273- m_particleController.update ();
274- }
275197 target (m_animatedMesh->parent ()->finalMatrix ()[3 ]);
276198 updateCamera ();
277199 updateKeyboard ();
@@ -403,4 +325,22 @@ void PlayerController::updateAnimations() {
403325 }
404326 }
405327 }
406- }
328+ }
329+
330+ void PlayerController::createParticles () {
331+ auto spriteFire = std::make_shared<Prisma::Texture>();
332+ spriteFire->loadTexture ({" ../../../Resources/DefaultScene/sprites/fire_sequence.png" , true });
333+
334+ auto sprite = std::make_shared<Prisma::Sprite>(Prisma::Sprite::BLENDING::ALPHA, Prisma::Sprite::DEPTH_WRITE::FALSE );
335+
336+ sprite->loadSprites ({spriteFire});
337+ sprite->numSprites (1 , {15 , 4 , 20 , glm::vec3 (1 )});
338+ sprite->size (glm::vec2 (0 .1f , 0 .1f ));
339+ sprite->name (" Sprite" );
340+ /* m_compute = std::make_shared<Prisma::Shader>("../../../UserEngine/Shaders/SpriteCompute/compute.glsl");
341+ m_compute->use();
342+ m_deltaPos = m_compute->getUniformPosition("deltaTime");
343+ m_timePos = m_compute->getUniformPosition("time");*/
344+ sprite->matrix (translate (glm::mat4 (1 .0f ), glm::vec3 (0 , -0.5 , 0 )));
345+ m_scene->root ->addChild (sprite);
346+ }
0 commit comments