Skip to content

Commit c5d0bee

Browse files
committed
Refactoring 2
1 parent 8beb1f4 commit c5d0bee

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

OpenRocket/OpenRocket/Game.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)