Changeset bfad34229eccba8d964a27a0fb3a2084c612a7b9 for palette/trunk/palette/plugins/moire/__init__.py
- Timestamp:
- 09/24/08 06:28:06 (4 years ago)
- Children:
- 1b0cdd33d70957213349cfa0cae373c7350c73a5
- Parents:
- 206d95c9b3331ad20b32a8ff1c5e9666a2029a28
- git-committer:
- flupke <flupke@…> (09/24/08 06:28:06)
- File:
-
- 1 moved
-
palette/trunk/palette/plugins/moire/__init__.py (moved) (moved from palette/trunk/palette/plugins/moire.py) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
palette/trunk/palette/plugins/moire/__init__.py
r5964203 rbfad342 2 2 from OpenGL.GL import * 3 3 from OpenGL.GLU import * 4 from encode import ScreenEncoder 4 5 5 6 … … 20 21 "elements_resolution": "integer(from=3, to=1024, default=256)", 21 22 "line_width": "float(from=0.05, to=150.0, increment=0.1, default=3.4)", 22 "mode": "enum(values=lines|circles|spiral, default=lines)", 23 "mode": "enum(values=lines|circles|spiral|dynamic, default=dynamic)", 24 "encoder_steps": "integer(from=2, to=50, default=5)", 23 25 } 24 26 … … 29 31 "spiral": None, 30 32 } 33 encoder = None 31 34 32 35 33 36 def setup(): 34 global display_lists_base, display_lists 37 global display_lists_base, display_lists, encoder 35 38 display_lists_base = glGenLists(len(display_lists)) 36 39 for i, dl_id in enumerate(display_lists): … … 39 42 40 43 def tear_down(): 41 global display_lists_base, display_lists42 44 glDeleteLists(display_lists_base, len(display_lists)) 43 45 44 46 45 47 def parameters_changed(parameters): 46 global display_lists_base, display_lists48 global encoder 47 49 glNewList(display_lists["circle"], GL_COMPILE) 48 50 glBegin(GL_LINE_LOOP) … … 62 64 glEnd() 63 65 glEndList() 66 encoder = ScreenEncoder(parameters["encoder_steps"], (512, 512)) 64 67 65 68 66 69 def render(p, canvas, parameters, frame, time): 67 global display_lists_base, display_lists68 70 # Setup a 2D transformation 69 71 glMatrixMode(GL_PROJECTION) … … 73 75 # Enable antialiasing 74 76 glEnable(GL_LINE_SMOOTH) 75 glEnable(GL_BLEND) ;77 glEnable(GL_BLEND) 76 78 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) 77 79 glHint(GL_LINE_SMOOTH_HINT, GL_NICEST) 80 glShadeModel(GL_SMOOTH) 81 glDisable(GL_TEXTURE_2D) 78 82 # Clear screen 79 83 glClearColor(1, 1, 1, 0) … … 99 103 parameters["elements_resolution"]) 100 104 elif parameters["mode"] == "spiral": 105 #scale = canvas.size[0] *0.9 101 106 glLoadIdentity() 107 glTranslate(canvas.center[0], canvas.center[0]) 108 #glScale(scale, scale, scale) 102 109 spiral() 103 110 glLoadIdentity() 104 111 amp_x = sin(time * 0.7657) * parameters["amplitude"] 105 112 amp_y = cos(time * 0.25687) * parameters["amplitude"] 106 glTranslate(cos(time) * amp_x, sin(time) * amp_y, 0) 113 glTranslate(canvas.center[0] + cos(time) * amp_x, 114 canvas.center[1] + sin(time) * amp_y, 0) 115 #glScale(scale, scale, scale) 107 116 spiral() 108 117 elif parameters["mode"] == "dynamic": 118 encoder.begin_frame() 119 glLoadIdentity() 120 frame = frame % encoder.num_frames 121 a = float(frame) / encoder.num_frames * 2.0 * pi 122 x = parameters["amplitude"] * cos(a) + canvas.center[0] 123 y = parameters["amplitude"] * sin(a) + canvas.center[1] 124 glTranslate(x, y, 0) 125 glScale(100, 100, 1) 126 glBegin(GL_TRIANGLE_FAN) 127 glVertex2f(0, 0) 128 for i in range(10): 129 alpha = float(i) / 5.0 * pi 130 x = cos(alpha) 131 y = sin(alpha) 132 glVertex2f(x, y) 133 glVertex2f(1, 0) 134 glEnd() 135 encoder.end_frame() 136 if encoder.complete: 137 encoder.render_base() 138 glLoadIdentity() 139 glTranslate((time * 30.0) % encoder.num_frames, 0, 0) 140 encoder.render_mask() 109 141 110 142
Note: See TracChangeset
for help on using the changeset viewer.
