Я пробовал искать как в Интернете, так и в документации по Moderngl_window, но не нашел ничего полезного. Я видел, что у pygame есть встроенное решение, но я бы предпочел сначала спросить, есть ли какое-нибудь лучшее и более простое решение.
Вот некоторый шаблонный код, который я использую для Moderngl_window, на случай, если он каким-либо образом будет полезен.
Код: Выделить всё
import moderngl_window as mgl
class App(mgl.WindowConfig):
window_size = 1336, 768
resource_dir = "src"
cursor = False
fullscreen = True
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.quad = mgl.geometry.quad_fs()
self.prog = self.load_program(
vertex_shader = "vertex.glsl",
fragment_shader = "frag.glsl")
self.prog["resolution"] = self.window_size
def render(self, time, frame_time):
self.ctx.clear()
try:
self.prog["time"] = time
except:
pass
self.quad.render(self.prog)
if __name__ == "__main__":
mgl.run_window_config(App)