X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=share%2Fback.c;h=e8f1033ed25626a15283425baffa7ba35f6cd3c7;hb=1745b6a90dfd9e626e5c40d20c6aa595ec41d888;hp=62c74aebccee3eaa4a37afd5fb846759fc11b4f5;hpb=70a7d71562ecf00d04102ff6da28350910f1995a;p=neverball diff --git a/share/back.c b/share/back.c index 62c74ae..e8f1033 100644 --- a/share/back.c +++ b/share/back.c @@ -36,7 +36,7 @@ void back_init(const char *s, int b) int j, stacks = b ? 16 : 8; 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); @@ -44,9 +44,10 @@ void back_init(const char *s, int b) 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; @@ -65,12 +66,10 @@ void back_init(const char *s, int b) 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); } } @@ -95,22 +94,22 @@ void back_free(void) 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(); }