|
| 1 | +import moderngl as mgl |
1 | 2 | import os |
2 | 3 |
|
3 | 4 | from pyrr import Matrix33 |
4 | 5 |
|
| 6 | +from demosys import context |
5 | 7 | from demosys.conf import settings |
6 | 8 | from demosys.resources import shaders |
7 | 9 |
|
8 | | -from OpenGL import GL |
9 | | - |
10 | 10 | settings.add_shader_dir(os.path.join(os.path.dirname(__file__), 'shaders')) |
11 | 11 |
|
12 | 12 |
|
13 | 13 | class MeshShader: |
14 | 14 |
|
15 | 15 | def __init__(self, shader=None, **kwargs): |
16 | 16 | self.shader = shader |
| 17 | + self.ctx = context.ctx() |
17 | 18 |
|
18 | 19 | def draw(self, mesh, proj_mat, view_mat): |
19 | 20 | """Minimal draw function. Should be overridden""" |
@@ -54,9 +55,9 @@ def draw(self, mesh, proj_mat, view_mat): |
54 | 55 |
|
55 | 56 | if mesh.material: |
56 | 57 | if mesh.material.double_sided: |
57 | | - GL.glDisable(GL.GL_CULL_FACE) |
| 58 | + self.ctx.disable(mgl.CULL_FACE) |
58 | 59 | else: |
59 | | - GL.glEnable(GL.GL_CULL_FACE) |
| 60 | + self.ctx.enable(mgl.CULL_FACE) |
60 | 61 |
|
61 | 62 | if mesh.material.color: |
62 | 63 | self.shader.uniform("color", tuple(mesh.material.color)) |
@@ -93,9 +94,9 @@ def draw(self, mesh, proj_mat, view_mat): |
93 | 94 | m_normal = self.create_normal_matrix(view_mat) |
94 | 95 |
|
95 | 96 | if mesh.material.double_sided: |
96 | | - GL.glDisable(GL.GL_CULL_FACE) |
| 97 | + self.ctx.disable(mgl.CULL_FACE) |
97 | 98 | else: |
98 | | - GL.glEnable(GL.GL_CULL_FACE) |
| 99 | + self.ctx.enable(mgl.CULL_FACE) |
99 | 100 |
|
100 | 101 | mesh.material.mat_texture.texture.use() |
101 | 102 | self.shader.uniform("texture0", 0) |
|
0 commit comments