@@ -29,7 +29,10 @@ class OpenGLContext(Context):
2929 _valid_apis = ("opengl" , "opengles" )
3030
3131 def __init__ (
32- self , window : pyglet .window .Window , gc_mode : str = "context_gc" , gl_api : str = "opengl"
32+ self ,
33+ window : pyglet .window .Window ,
34+ gc_mode : str = "context_gc" ,
35+ gl_api : str = "opengl" ,
3336 ):
3437 super ().__init__ (window , gc_mode )
3538
@@ -221,7 +224,11 @@ def _create_default_framebuffer(self) -> OpenGLDefaultFrameBuffer:
221224 return OpenGLDefaultFrameBuffer (self )
222225
223226 def buffer (
224- self , * , data : BufferProtocol | None = None , reserve : int = 0 , usage : str = "static"
227+ self ,
228+ * ,
229+ data : BufferProtocol | None = None ,
230+ reserve : int = 0 ,
231+ usage : str = "static" ,
225232 ) -> OpenGLBuffer :
226233 return OpenGLBuffer (self , data , reserve = reserve , usage = usage )
227234
@@ -272,10 +279,10 @@ def program(
272279 return OpenGLProgram (
273280 self ,
274281 vertex_shader = source_vs .get_source (defines = defines ),
275- fragment_shader = source_fs .get_source (defines = defines ) if source_fs else None ,
276- geometry_shader = source_geo .get_source (defines = defines ) if source_geo else None ,
277- tess_control_shader = source_tc .get_source (defines = defines ) if source_tc else None ,
278- tess_evaluation_shader = source_te .get_source (defines = defines ) if source_te else None ,
282+ fragment_shader = ( source_fs .get_source (defines = defines ) if source_fs else None ) ,
283+ geometry_shader = ( source_geo .get_source (defines = defines ) if source_geo else None ) ,
284+ tess_control_shader = ( source_tc .get_source (defines = defines ) if source_tc else None ) ,
285+ tess_evaluation_shader = ( source_te .get_source (defines = defines ) if source_te else None ) ,
279286 varyings = out_attributes ,
280287 varyings_capture_mode = varyings_capture_mode ,
281288 )
@@ -345,7 +352,9 @@ def framebuffer(
345352 depth_attachment : OpenGLTexture2D | None = None ,
346353 ) -> OpenGLFramebuffer :
347354 return OpenGLFramebuffer (
348- self , color_attachments = color_attachments or [], depth_attachment = depth_attachment
355+ self ,
356+ color_attachments = color_attachments or [],
357+ depth_attachment = depth_attachment ,
349358 )
350359
351360 def copy_framebuffer (
@@ -424,6 +433,15 @@ def __init__(self, *args, **kwargs):
424433 OpenGLContext .__init__ (self , * args , ** kwargs )
425434 ArcadeContext .__init__ (self , * args , ** kwargs )
426435
436+ def bind_window_block (self ):
437+ gl .glBindBufferRange (
438+ gl .GL_UNIFORM_BUFFER ,
439+ 0 ,
440+ self ._window_block .buffer .id ,
441+ 0 , # type: ignore
442+ 128 , # 32 x 32bit floats (two mat4) # type: ignore
443+ )
444+
427445
428446class OpenGLInfo (Info ):
429447 """OpenGL info and capabilities"""
0 commit comments