Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NotImplementedError: WindowConfig.on_render not implemented on macOS #216

Open
sendaoYan opened this issue Jan 22, 2025 · 3 comments
Open

Comments

@sendaoYan
Copy link

sendaoYan commented Jan 22, 2025

Run Furmark fails "NotImplementedError: WindowConfig.on_render not implemented" on MacOS(M2).

Test command:

git clone [email protected]:StanislavPetrovV/FurMark.git
cd FurMark
python main.py

result:

2025-01-22 15:29:09,587 - moderngl_window - INFO - Attempting to load window class: moderngl_window.context.headless.Window
2025-01-22 15:29:10,100 - moderngl_window.context.base.window - INFO - Context Version:
2025-01-22 15:29:10,100 - moderngl_window.context.base.window - INFO - ModernGL: 5.12.0
2025-01-22 15:29:10,100 - moderngl_window.context.base.window - INFO - vendor: Apple
2025-01-22 15:29:10,100 - moderngl_window.context.base.window - INFO - renderer: Apple M2 Ultra
2025-01-22 15:29:10,100 - moderngl_window.context.base.window - INFO - version: 4.1 Metal - 88
2025-01-22 15:29:10,100 - moderngl_window.context.base.window - INFO - python: 3.9.6 (default, Feb  3 2024, 15:58:27) 
[Clang 15.0.0 (clang-1500.3.9.4)]
2025-01-22 15:29:10,100 - moderngl_window.context.base.window - INFO - platform: darwin
2025-01-22 15:29:10,100 - moderngl_window.context.base.window - INFO - code: 410
2025-01-22 15:29:10,101 - moderngl_window.loaders.program.separate - INFO - Loading: /Users/raodao/git/FurMark/resources/programs/vertex.glsl
2025-01-22 15:29:10,101 - moderngl_window.loaders.program.separate - INFO - Loading: /Users/raodao/git/FurMark/resources/programs/fragment.glsl
2025-01-22 15:29:10,104 - moderngl_window.loaders.texture.pillow - INFO - loading /Users/raodao/git/FurMark/resources/textures/fur.jpg
2025-01-22 15:29:10,110 - moderngl_window.loaders.texture.pillow - INFO - loading /Users/raodao/git/FurMark/resources/textures/noise.png
2025-01-22 15:29:10,114 - moderngl_window.loaders.texture.pillow - INFO - loading /Users/raodao/git/FurMark/resources/textures/wall.jpg
Traceback (most recent call last):
  File "/Users/raodao/git/FurMark/main.py", line 40, in <module>
    mglw.run_window_config(App)
  File "/Users/raodao/git/moderngl-window/moderngl_window/__init__.py", line 201, in run_window_config
    run_window_config_instance(config)
  File "/Users/raodao/git/moderngl-window/moderngl_window/__init__.py", line 295, in run_window_config_instance
    window.render(current_time, delta)
  File "/Users/raodao/git/moderngl-window/moderngl_window/context/base/window.py", line 778, in render
    self.render_func(time, frame_time)
  File "/Users/raodao/git/moderngl-window/moderngl_window/context/base/window.py", line 1195, in on_render
    raise NotImplementedError("WindowConfig.on_render not implemented")
NotImplementedError: WindowConfig.on_render not implemented

environment info:
CPU: Apple M2 Ultra
OS: Sonoma 14.2
python: 3.9.6

@sendaoYan
Copy link
Author

git revert to below version can work round

commit 4126124
Author: Loreno Heer [email protected]
Date: Fri Oct 27 12:40:03 2023 +0200

Update program.py

Better #include handling using regex

@einarf
Copy link
Member

einarf commented Jan 22, 2025

The old render(...) method now needs to be on_render(..). You need to implement that instead. This was changed in 3.0.

See the changelog in the repo or here https://github.com/moderngl/moderngl-window/releases

@einarf
Copy link
Member

einarf commented Jan 22, 2025

I would guess the error message is misleading. It should probably tell the user to implement this method in their own windowconfig.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants