Skip to content

Commit ddf10c3

Browse files
committed
Ensure the requested GL version is checked
1 parent cb0fd4c commit ddf10c3

File tree

4 files changed

+12
-8
lines changed

4 files changed

+12
-8
lines changed

demosys/context/base.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import moderngl
55
from demosys.conf import settings
66

7-
GLVersion = namedtuple('GLVersion', ['major', 'minor'])
7+
GLVersion = namedtuple('GLVersion', ['major', 'minor', 'code'])
88

99

1010
class Window:
@@ -26,12 +26,14 @@ def __init__(self):
2626
self.resources = None
2727
self.manager = None
2828

29-
self.gl_version = GLVersion(*settings.OPENGL['version'])
30-
self.resizable = settings.WINDOW.get('resizable') or False
29+
self.gl_version = GLVersion(
30+
*settings.OPENGL['version'],
31+
int("{}{}0".format(*settings.OPENGL['version']))
32+
)
3133
self.title = settings.WINDOW.get('title') or "demosys-py"
3234
self.aspect_ratio = settings.WINDOW.get('aspect_ratio', 16 / 9)
3335

34-
self.resizable = settings.WINDOW.get('resizable')
36+
self.resizable = settings.WINDOW.get('resizable') or False
3537
self.fullscreen = settings.WINDOW.get('fullscreen')
3638
self.vsync = settings.WINDOW.get('vsync')
3739
self.cursor = settings.WINDOW.get('cursor')
@@ -48,7 +50,7 @@ def draw(self, current_time, frame_time):
4850

4951
def clear(self):
5052
"""Clear the scren"""
51-
self.ctx.screen.clear(
53+
self.ctx.fbo.clear(
5254
red=self.clear_color[0],
5355
green=self.clear_color[1],
5456
blue=self.clear_color[2],

demosys/context/glfw.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def __init__(self):
6464
glfw.set_window_size_callback(self.window, self.window_resize_callback)
6565

6666
# Create mederngl context from existing context
67-
self.ctx = moderngl.create_context()
67+
self.ctx = moderngl.create_context(require=self.gl_version.code)
6868
context.WINDOW = self
6969
self.fbo = FBO()
7070
self.fbo.ctx = self.ctx

demosys/context/headless.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def __init__(self):
1818
raise ImproperlyConfigured("HEADLESS_DURATION or HEADLESS_FRAMES not present in settings")
1919

2020
self._close = False
21-
self.ctx = moderngl.create_standalone_context()
21+
self.ctx = moderngl.create_standalone_context(require=self.gl_version.code)
2222
context.WINDOW = self
2323

2424
self.fbo = FBO()
@@ -27,7 +27,7 @@ def __init__(self):
2727
color_attachments=self.ctx.texture((self.width, self.height), 4),
2828
depth_attachment=self.ctx.depth_texture((self.width, self.height)),
2929
)
30-
# self.fbo.default_framebuffer = True
30+
self.fbo.default_framebuffer = True
3131
self.set_default_viewport()
3232

3333
def draw(self, current_time, frame_time):

examples/settings.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
"cursor": True,
2020
}
2121

22+
HEADLESS_DURATION = 10.0
23+
2224
MUSIC = None
2325

2426
ROCKET = {

0 commit comments

Comments
 (0)