| 86 | self.color = color if isinstance(color, tuple) else (0,0,0) |
| 87 | |
| 88 | def draw(self, mvp, light, bright, scatter): |
| 89 | if not self.visible: return |
| 90 | self.ctx.line_width = self.width |
| 91 | mvp = np.dot(*mvp) |
| 92 | self.prog['Mvp'].write(mvp.astype(np.float32).tobytes()) |
| 93 | self.prog['blend'].value = self.blend |
| 94 | self.prog['scatter'].value = scatter |
| 95 | self.prog['light'].value = tuple(light) |
| 96 | self.prog['bright'].value = bright |
| 97 | self.vao.render({'mesh':moderngl.TRIANGLES, 'grid':moderngl.LINES}[self.mode]) |
| 98 | |
| 99 | class MarkText: |
| 100 | def __init__(self, vts, ids, os, h, color): |