X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fglx%2Fglmatrix.c;h=4782c1cc7f65ce912822f00a26e8d9caa8ae1a4f;hp=a5003185981dd0958720a37cab705621803e1741;hb=4361b69d3178d7fc98d0388f9a223af6c2651aba;hpb=ec8d2b32b63649e6d32bdfb306eda062769af823 diff --git a/hacks/glx/glmatrix.c b/hacks/glx/glmatrix.c index a5003185..4782c1cc 100644 --- a/hacks/glx/glmatrix.c +++ b/hacks/glx/glmatrix.c @@ -632,6 +632,10 @@ bigendian (void) If this hack ever grows into something that displays full Latin1 text, well then, Something Else Will Need To Be Done. + + Since currently GLMatrix does not run textclient / xscreensaver-text, + it's not an issue. (XMatrix does that.) + */ static void spank_image (matrix_configuration *mp, XImage *xi) @@ -778,7 +782,8 @@ load_textures (ModeInfo *mi, Bool flip_p) glGenTextures (1, &mp->texture); glPixelStorei (GL_UNPACK_ALIGNMENT, 4); - glPixelStorei (GL_UNPACK_ROW_LENGTH, xi->width); + /* messes up -fps */ + /* glPixelStorei (GL_UNPACK_ROW_LENGTH, xi->width);*/ glBindTexture (GL_TEXTURE_2D, mp->texture); check_gl_error ("texture init"); glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, xi->width, xi->height, 0, GL_RGBA, @@ -817,14 +822,7 @@ init_matrix (ModeInfo *mi) if (wire) do_texture = False; - if (!mps) { - mps = (matrix_configuration *) - calloc (MI_NUM_SCREENS(mi), sizeof (matrix_configuration)); - if (!mps) { - fprintf(stderr, "%s: out of memory\n", progname); - exit(1); - } - } + MI_INIT (mi, mps, NULL); mp = &mps[MI_SCREEN(mi)]; mp->glx_context = init_GL(mi); @@ -879,18 +877,7 @@ init_matrix (ModeInfo *mi) glEnable(GL_NORMALIZE); if (do_texture) - { - load_textures (mi, flip_p); - glEnable(GL_TEXTURE_2D); - glEnable(GL_BLEND); - - /* Jeff Epler points out: - By using GL_ONE instead of GL_SRC_ONE_MINUS_ALPHA, glyphs are - added to each other, so that a bright glyph with a darker one - in front is a little brighter than the bright glyph alone. - */ - glBlendFunc (GL_SRC_ALPHA, GL_ONE); - } + load_textures (mi, flip_p); /* to scale coverage-percent to strips, this number looks about right... */ mp->nstrips = (int) (density * 2.2); @@ -1002,6 +989,20 @@ draw_matrix (ModeInfo *mi) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glPushMatrix (); + glRotatef(current_device_rotation(), 0, 0, 1); + + if (do_texture) + { + glEnable(GL_TEXTURE_2D); + glEnable(GL_BLEND); + + /* Jeff Epler points out: + By using GL_ONE instead of GL_SRC_ONE_MINUS_ALPHA, glyphs are + added to each other, so that a bright glyph with a darker one + in front is a little brighter than the bright glyph alone. + */ + glBlendFunc (GL_SRC_ALPHA, GL_ONE); + } if (do_rotate) {