/*---------------------------------------------------------------------------*/
-void back_init(const char *s, int b)
+void back_init(const char *s)
{
- int i, slices = b ? 32 : 16;
- int j, stacks = b ? 16 : 8;
+ int i, slices = 32;
+ int j, stacks = 16;
back_free();
- back_text = make_image_from_file(NULL, NULL, NULL, NULL, s);
+ back_text = make_image_from_file(s);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glNewList(back_list, GL_COMPILE);
{
- glColor3f(1.f, 1.f, 1.f);
glBindTexture(GL_TEXTURE_2D, back_text);
+ glColor3f(1.0f, 1.0f, 1.0f);
+
for (i = 0; i < stacks; i++)
{
float k0 = (float) i / stacks;
float s = fsinf(V_PI * k * 2.0);
float c = fcosf(V_PI * k * 2.0);
- glTexCoord2f(k, k1);
- glNormal3f(s * c1, c * c1, s1);
+ glTexCoord2f(k, 1.0f - k1);
glVertex3f(s * c1, c * c1, s1);
- glTexCoord2f(k, k0);
- glNormal3f(s * c0, c * c0, s0);
+ glTexCoord2f(k, 1.0f - k0);
glVertex3f(s * c0, c * c0, s0);
}
}
void back_draw(float t)
{
glPushMatrix();
- glPushAttrib(GL_LIGHTING_BIT | GL_DEPTH_BUFFER_BIT);
{
GLfloat dx = 60.f * fsinf(t / 10.f) + 90.f;
GLfloat dz = 180.f * fsinf(t / 12.f);
glDisable(GL_LIGHTING);
glDepthMask(GL_FALSE);
+ {
+ glScalef(BACK_DIST, BACK_DIST, BACK_DIST);
+ glRotatef(dz, 0.f, 0.f, 1.f);
+ glRotatef(dx, 1.f, 0.f, 0.f);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glScalef(BACK_DIST, BACK_DIST, BACK_DIST);
- glRotatef(dz, 0.f, 0.f, 1.f);
- glRotatef(dx, 1.f, 0.f, 0.f);
-
- glCallList(back_list);
+ glCallList(back_list);
+ }
+ glDepthMask(GL_TRUE);
+ glEnable(GL_LIGHTING);
}
- glPopAttrib();
glPopMatrix();
}