|
13 | 13 | outer = pmma.ColorConverter()
|
14 | 14 |
|
15 | 15 | class Cube:
|
16 |
| - def __init__(self, ctx, outer_size, inner_size, outer_color=(1.0, 0.0, 0.0, 1.0), inner_color=(0.0, 1.0, 0.0, 1.0), scale=1.0, outline=False): |
| 16 | + def __init__(self, ctx, outer_size, inner_size, outer_color=(1.0, 0.0, 0.0, 1.0), inner_color=(0.0, 1.0, 0.0, 1.0), scale=1.0): |
17 | 17 | self.ctx = ctx
|
18 |
| - self.outline = outline |
19 | 18 | self.outer_size = outer_size
|
20 | 19 | self.inner_size = inner_size
|
21 | 20 | self.outer_color = outer_color
|
@@ -120,10 +119,7 @@ def update_rotation(self, angle):
|
120 | 119 | def render(self):
|
121 | 120 | self.program['model'].write(self.rotation_matrix)
|
122 | 121 | self.program['scale'].value = self.scale # Pass the scale to the shader
|
123 |
| - if self.outline: |
124 |
| - self.vao.render(moderngl.LINES) |
125 |
| - else: |
126 |
| - self.vao.render(moderngl.TRIANGLES) |
| 122 | + self.vao.render(moderngl.TRIANGLES) |
127 | 123 |
|
128 | 124 | def lerp_color(color1, color2, t):
|
129 | 125 | return tuple((1 - t) * c1 + t * c2 for c1, c2 in zip(color1, color2))
|
@@ -174,8 +170,8 @@ def lerp_color(color1, color2, t):
|
174 | 170 | for i in range(num_cubes):
|
175 | 171 | cube = cubes[i]
|
176 | 172 | ratio = i / (num_cubes - 1) # A ratio from 0 to 1 for each cube
|
177 |
| - outer_grad = tuple(outer_color[j] * (1 - ratio) + inner_color[j] * ratio for j in range(4)) # Interpolate colors |
178 |
| - inner_grad = tuple(inner_color[j] * (1 - ratio) + outer_color[j] * ratio for j in range(4)) # Interpolate colors |
| 173 | + outer_grad = list(outer_color[j] * (1 - ratio) + inner_color[j] * ratio for j in range(3)) + [0.9] # Interpolate colors |
| 174 | + inner_grad = list(inner_color[j] * (1 - ratio) + outer_color[j] * ratio for j in range(3)) + [0.9] # Interpolate colors |
179 | 175 | cube.set_color(outer_grad, inner_grad)
|
180 | 176 |
|
181 | 177 | # Update rotation for each cube
|
|
0 commit comments