@@ -204,11 +204,8 @@ void Game::RenderFunction(void) {
204204
205205 float posX = rocket->getPositionX ();
206206 float posY = rocket->getPositionY ();
207- glm::mat4 scaleMatrix = glm::scale (glm::mat4 (1 .0f ), glm::vec3 (1 .0f / maxX, 1 .0f / maxY, 1 .0f ));
208- glm::mat4 translateMatrix = glm::translate (glm::mat4 (1 .0f ), glm::vec3 (-maxX, -maxY, 0 .0f ));
209207 glm::mat4 rocketTranslateMatrix = glm::translate (glm::mat4 (1 .0f ), glm::vec3 (posX, posY, 0 .0f ));
210-
211- glm::mat4 matrix = scaleMatrix * translateMatrix * rocketTranslateMatrix;
208+ glm::mat4 matrix = backgroundScaleMatrix * backgroundTranslateMatrix * rocketTranslateMatrix;
212209 rocket->setRocketMatrix (matrix);
213210
214211 myMatrixLocation = glGetUniformLocation (ProgramId, " myMatrix" );
@@ -234,20 +231,26 @@ void Game::RenderFunction(void) {
234231 glBindTexture (GL_TEXTURE_2D, Game::textures[asteroid->getTextureIndex ()]);
235232 glm::mat4 asteroidMatrix = glm::scale (glm::mat4 (1 .0f ), glm::vec3 (asteroid->getRadius (), asteroid->getRadius (), 1.0 ));
236233 glm::mat4 animateMatrix = glm::translate (glm::mat4 (1 .0f ), glm::vec3 (0.0 , - asteroid->getTranslatedDistance (), 0.0 )); // controleaza translatia de-a lungul lui Oy
237- asteroidMatrix = backgroundMatrix * animateMatrix * glm::translate (glm::mat4 (1 .0f ), glm::vec3 (asteroid->getX (), asteroid->getY (), 0.0 )) * asteroidMatrix;
234+ glm::mat4 asteroidTranslateMatrix = glm::translate (glm::mat4 (1 .0f ), glm::vec3 (asteroid->getX (), asteroid->getY (), 0.0 ));
235+ asteroidMatrix = backgroundMatrix * animateMatrix * asteroidTranslateMatrix * asteroidMatrix;
238236 asteroid->setAsteroidMatrix (asteroidMatrix);
239237 glUniformMatrix4fv (myMatrixLocation, 1 , GL_FALSE, &asteroidMatrix[0 ][0 ]);
240238 glBindVertexArray (asteroidVao);
241239 glDrawArrays (GL_POLYGON, 0 , Constants::nrOfVerticesPerCircle);
242240 }
241+
243242 glDisable (GL_TEXTURE_2D);
244243 glUseProgram (ProgramId);
244+
245245 myMatrixLocation = glGetUniformLocation (ProgramId, " myMatrix" );
246+
246247 Game::UpdateBullets ();
248+
247249 for (auto & bullet : bullets) {
248250 glm::mat4 bulletMatrix = glm::scale (glm::mat4 (1 .0f ), glm::vec3 (bullet->getRadius (), bullet->getRadius (), 1 .0f ));
249251 glm::mat4 animateMatrix = glm::translate (glm::mat4 (1 .0f ), glm::vec3 (0.0 , bullet->getY (), 0.0 ));
250- bulletMatrix = backgroundMatrix * animateMatrix * glm::translate (glm::mat4 (1 .0f ), glm::vec3 (bullet->getX (), bullet->getY (), 0.0 )) * bulletMatrix;
252+ glm::mat4 bulletTranslateMatrix = glm::translate (glm::mat4 (1 .0f ), glm::vec3 (bullet->getX (), bullet->getY (), 0.0 ));
253+ bulletMatrix = backgroundMatrix * animateMatrix * bulletTranslateMatrix * bulletMatrix;
251254
252255 glUniformMatrix4fv (myMatrixLocation, 1 , GL_FALSE, &bulletMatrix[0 ][0 ]);
253256 glBindVertexArray (bulletVao);
0 commit comments