projects
/
xscreensaver
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
From http://www.jwz.org/xscreensaver/xscreensaver-5.20.tar.gz
[xscreensaver]
/
hacks
/
glx
/
rubikblocks.c
diff --git
a/hacks/glx/rubikblocks.c
b/hacks/glx/rubikblocks.c
index 12282771d750338cbbb21df91cd88eb4693ca333..54c4134137361bd820bc615942b3d790697cd686 100644
(file)
--- a/
hacks/glx/rubikblocks.c
+++ b/
hacks/glx/rubikblocks.c
@@
-262,7
+262,12
@@
draw_main(ModeInfo *mi, rubikblocks_conf *cp)
glLoadIdentity();
get_position(cp->rot, &x, &y, &z, !cp->button_down);
glTranslatef((x-0.5)*6, (y-0.5)*6, -20);
glLoadIdentity();
get_position(cp->rot, &x, &y, &z, !cp->button_down);
glTranslatef((x-0.5)*6, (y-0.5)*6, -20);
+
+ /* Do it twice because we don't track the device's orientation. */
+ glRotatef( current_device_rotation(), 0, 0, 1);
gltrackball_rotate(cp->trackball);
gltrackball_rotate(cp->trackball);
+ glRotatef(-current_device_rotation(), 0, 0, 1);
+
get_rotation(cp->rot, &x, &y, &z, !cp->button_down);
glRotatef(x*360, 1, 0, 0);
glRotatef(y*360, 0, 1, 0);
get_rotation(cp->rot, &x, &y, &z, !cp->button_down);
glRotatef(x*360, 1, 0, 0);
glRotatef(y*360, 0, 1, 0);
@@
-431,6
+436,11
@@
init_gl(ModeInfo *mi)
int status;
#endif
cp->wire = MI_IS_WIREFRAME(mi);
int status;
#endif
cp->wire = MI_IS_WIREFRAME(mi);
+
+# ifdef HAVE_JWZGLES /* #### glPolygonMode other than GL_FILL unimplemented */
+ cp->wire = 0;
+# endif
+
if(MI_IS_MONO(mi))
tex = False;
if(cp->wire) {
if(MI_IS_MONO(mi))
tex = False;
if(cp->wire) {
@@
-439,7
+449,6
@@
init_gl(ModeInfo *mi)
}
glClearDepth(1.0);
}
glClearDepth(1.0);
- glClearColor(0.0, 0.0, 0.0, 1.0);
glDrawBuffer(GL_BACK);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glShadeModel(GL_FLAT);
glDrawBuffer(GL_BACK);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glShadeModel(GL_FLAT);
@@
-462,7
+471,7
@@
init_gl(ModeInfo *mi)
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, material_diffuse);
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, material_specular);
glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shininess);
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, material_diffuse);
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, material_specular);
glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shininess);
- if(!tex) return;
+ if
(!tex) return;
glEnable(GL_TEXTURE_2D);
#ifdef MIPMAP
clear_gl_error();
glEnable(GL_TEXTURE_2D);
#ifdef MIPMAP
clear_gl_error();