return;
}
- auto ftc = Color(0, 0, 0, fadeIntensity);
- if (fadeWhite)
- ftc.red = ftc.green = ftc.blue = 255;
-
- auto fadeTex = Texture::genColor(ftc);
+ ColorTex fadeTex (fadeWhite ? Color(255, 255, 255, fadeIntensity) :
+ Color(0, 0, 0, fadeIntensity));
+ static const GLfloat tex[] = {
+ 0.0, 0.0,
+ 1.0, 0.0,
+ 0.0, 1.0,
+ 1.0, 1.0
+ };
- GLfloat tex[] = {0.0, 0.0,
- 1.0, 0.0,
- 0.0, 1.0,
- 1.0, 1.0};
-
- GLfloat backdrop[] = {offset.x - SCREEN_WIDTH / 2 - 1, offset.y - SCREEN_HEIGHT / 2, -7.9,
- offset.x + SCREEN_WIDTH / 2, offset.y - SCREEN_HEIGHT / 2, -7.9,
- offset.x - SCREEN_WIDTH / 2 - 1, offset.y + SCREEN_HEIGHT / 2, -7.9,
- offset.x + SCREEN_WIDTH / 2, offset.y + SCREEN_HEIGHT / 2, -7.9};
+ GLfloat backdrop[] = {
+ offset.x - SCREEN_WIDTH2 - 1, offset.y - SCREEN_HEIGHT2, -7.9,
+ offset.x + SCREEN_WIDTH2, offset.y - SCREEN_HEIGHT2, -7.9,
+ offset.x - SCREEN_WIDTH2 - 1, offset.y + SCREEN_HEIGHT2, -7.9,
+ offset.x + SCREEN_WIDTH2, offset.y + SCREEN_HEIGHT2, -7.9
+ };
setFontZ(-8.2);
glUniform1i(Render::textShader.uniform[WU_texture], 0);
// the ending pixel of the world
static const float e = static_cast<float>(SCREEN_WIDTH) / 2.0f;
- static const auto blackTex = Texture::genColor(Color(0, 0, 0));
static const float sheight = static_cast<float>(SCREEN_HEIGHT);
+
if (offset.x + world.startX > s) {
- glBindTexture(GL_TEXTURE_2D, blackTex);
+ Colors::black.use();
glUniform1f(Render::worldShader.uniform[WU_light_impact], 0.0f);
+ auto off = offset.y - static_cast<float>(SCREEN_HEIGHT) / 2.0f;
+
GLfloat blackBarLeft[] = {
- s, 0.0f, -3.5f, 0.0f, 0.0f,
- world.startX, 0.0f, -3.5f, 1.0f, 0.0f,
- world.startX, sheight, -3.5f, 1.0f, 1.0f,
+ s, 0.0f + off, -3.5f, 0.0f, 0.0f,
+ world.startX, 0.0f + off, -3.5f, 1.0f, 0.0f,
+ world.startX, sheight + off, -3.5f, 1.0f, 1.0f,
- world.startX, sheight, -3.5f, 1.0f, 1.0f,
- s, sheight, -3.5f, 0.0f, 1.0f,
- s, 0.0f, -3.5f, 0.0f, 0.0f
+ world.startX, sheight + off, -3.5f, 1.0f, 1.0f,
+ s, sheight + off, -3.5f, 0.0f, 1.0f,
+ s, 0.0f + off, -3.5f, 0.0f, 0.0f
};
glVertexAttribPointer(Render::worldShader.coord, 3, GL_FLOAT, GL_FALSE, sizeof(GLfloat) * 5, &blackBarLeft[0]);
}
if (offset.x - world.startX < e) {
- glBindTexture(GL_TEXTURE_2D, blackTex);
+ Colors::black.use();
glUniform1f(Render::worldShader.uniform[WU_light_impact], 0.0f);
+
+ auto off = offset.y - static_cast<float>(SCREEN_HEIGHT) / 2.0f;
GLfloat blackBarRight[] = {
- -(world.startX), 0.0f, -3.5f, 0.0f, 0.0f,
- e, 0.0f, -3.5f, 1.0f, 0.0f,
- e, sheight, -3.5f, 1.0f, 1.0f,
+ -(world.startX), 0.0f + off, -3.5f, 0.0f, 0.0f,
+ e, 0.0f + off, -3.5f, 1.0f, 0.0f,
+ e, sheight + off, -3.5f, 1.0f, 1.0f,
- e, sheight, -3.5f, 1.0f, 1.0f,
- -(world.startX), sheight, -3.5f, 0.0f, 1.0f,
- -(world.startX), 0.0f, -3.5f, 0.0f, 0.0f
+ e, sheight + off, -3.5f, 1.0f, 1.0f,
+ -(world.startX), sheight + off, -3.5f, 0.0f, 1.0f,
+ -(world.startX), 0.0f + off, -3.5f, 0.0f, 0.0f
};
glVertexAttribPointer(Render::worldShader.coord, 3, GL_FLOAT, GL_FALSE, sizeof(GLfloat) * 5, &blackBarRight[0]);