|
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): |
| 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): |
17 | 17 | self.ctx = ctx
|
| 18 | + self.outline = outline |
18 | 19 | self.outer_size = outer_size
|
19 | 20 | self.inner_size = inner_size
|
20 | 21 | self.outer_color = outer_color
|
@@ -119,7 +120,10 @@ def update_rotation(self, angle):
|
119 | 120 | def render(self):
|
120 | 121 | self.program['model'].write(self.rotation_matrix)
|
121 | 122 | self.program['scale'].value = self.scale # Pass the scale to the shader
|
122 |
| - self.vao.render(moderngl.TRIANGLES) |
| 123 | + if self.outline: |
| 124 | + self.vao.render(moderngl.LINES) |
| 125 | + else: |
| 126 | + self.vao.render(moderngl.TRIANGLES) |
123 | 127 |
|
124 | 128 | def lerp_color(color1, color2, t):
|
125 | 129 | return tuple((1 - t) * c1 + t * c2 for c1, c2 in zip(color1, color2))
|
@@ -162,7 +166,7 @@ def lerp_color(color1, color2, t):
|
162 | 166 | if event.type == pygame.QUIT:
|
163 | 167 | running = False
|
164 | 168 |
|
165 |
| - ctx.clear() |
| 169 | + ctx.clear(1, 1, 1) |
166 | 170 |
|
167 | 171 | outer_color = (*outer.generate_color_from_perlin_noise(value=now_time/7, format=pmma.Constants.SMALL_RGB), 0.5)
|
168 | 172 | inner_color = (*inner.generate_color_from_perlin_noise(value=now_time/10, format=pmma.Constants.SMALL_RGB), 0.5)
|
|
0 commit comments