Add bubbles for shipwreck

This commit is contained in:
Michal Zaporski 2022-02-01 02:14:30 +01:00
parent 3d5fd62eda
commit 2b5d3e1d6e

View File

@ -179,10 +179,13 @@ void drawTranslucentObjects(int x, int y) {
glEnable(GL_BLEND); // enable blending
for (int i = x; i < y; i++) drawObjectTexture(sphereContext, glm::translate(glm::vec3(bubblePosition[i][0], (bubblePosition[i][1] + (int(time * 1000)) % 10000) / 1000.0f, bubblePosition[i][2])) * glm::scale(glm::vec3(0.1f)), bubbleTexture);
for (int i = x; i < y; i++) drawObjectTexture(sphereContext, glm::translate(glm::vec3(bubblePosition[i][0], (bubblePosition[i][1] + (int(time * 1000)) % 20000) / 1000.0f, bubblePosition[i][2])) * glm::scale(glm::vec3(0.1f)), bubbleTexture);
for (int i = x; i < y; i++) drawObjectTexture(sphereContext, glm::translate(glm::vec3(bubblePosition[i][0], (bubblePosition[i][1] + (int(time * 1000)) % 30000) / 1000.0f, bubblePosition[i][2])) * glm::scale(glm::vec3(0.1f)), bubbleTexture);
//for (int i = x; i < y; i++) drawObjectTexture(sphereContext, glm::translate(glm::vec3(bubblePosition[i][0], (bubblePosition[i][1] + (int(time * 1000)) % 10000) / 1000.0f, bubblePosition[i][2])) * glm::scale(glm::vec3(0.1f)), bubbleTexture);
//for (int i = x; i < y; i++) drawObjectTexture(sphereContext, glm::translate(glm::vec3(bubblePosition[i][0], (bubblePosition[i][1] + (int(time * 1000)) % 20000) / 1000.0f, bubblePosition[i][2])) * glm::scale(glm::vec3(0.1f)), bubbleTexture);
//for (int i = x; i < y; i++) drawObjectTexture(sphereContext, glm::translate(glm::vec3(bubblePosition[i][0], (bubblePosition[i][1] + (int(time * 1000)) % 30000) / 1000.0f, bubblePosition[i][2])) * glm::scale(glm::vec3(0.1f)), bubbleTexture);
for(int i = 0; i < 10; i++) drawObjectTexture(sphereContext, glm::translate(glm::vec3(0, ((int(12 * time * 1000)) % 60000) / 1000.0f, 0)) * glm::translate(glm::vec3(20 + bubblePosition[i][0], -20 - bubblePosition[i][1], bubblePosition[i][2])) * glm::scale(glm::vec3(0.13f)), bubbleTexture);
for(int i = 10; i < 15; i++) drawObjectTexture(sphereContext, glm::translate(glm::vec3(0, ((int(10 * time * 1000)) % 60000) / 1000.0f, 0)) * glm::translate(glm::vec3(20 + bubblePosition[i][0], -20 - bubblePosition[i][1], bubblePosition[i][2])) * glm::scale(glm::vec3(0.13f)), bubbleTexture);
for(int i = 15; i < 20; i++) drawObjectTexture(sphereContext, glm::translate(glm::vec3(0, ((int(8 * time * 1000)) % 60000) / 1000.0f, 0)) * glm::translate(glm::vec3(20 + bubblePosition[i][0], -20 - bubblePosition[i][1], bubblePosition[i][2])) * glm::scale(glm::vec3(0.13f)), bubbleTexture);
for(int i = 20; i < 25; i++) drawObjectTexture(sphereContext, glm::translate(glm::vec3(0, ((int(14 * time * 1000)) % 60000) / 1000.0f, 0)) * glm::translate(glm::vec3(20 + bubblePosition[i][0], -20 - bubblePosition[i][1], bubblePosition[i][2])) * glm::scale(glm::vec3(0.13f)), bubbleTexture);
glDisable(GL_BLEND); // disable blending
}
@ -378,10 +381,16 @@ void init()
caustics[14] = Core::LoadTexture("textures/caustics_015.bmp");
caustics[15] = Core::LoadTexture("textures/caustics_016.bmp");
for (int i = 0; i < 100; i++) {
bubblePosition[i][0] = rand() % 30 - 15;
bubblePosition[i][1] = rand() % 50 - 50;
bubblePosition[i][2] = rand() % 50 - 25;
//for (int i = 0; i < 100; i++) {
// bubblePosition[i][0] = rand() % 30 - 15;
// bubblePosition[i][1] = rand() % 50 - 50;
// bubblePosition[i][2] = rand() % 50 - 25;
//}
for (int i = 0; i < 25; i++) {
bubblePosition[i][0] = float(rand()) / float((RAND_MAX)) * 3;
bubblePosition[i][1] = float(rand()) / float((RAND_MAX)) * 7;
bubblePosition[i][2] = float(rand()) / float((RAND_MAX)) * 4;
}
for (int i = 0; i < 15; i++) {