picogl.backend.modern.core.shader.mvp.controller

Handles user input to manipulate MVPControl.

This module provides the MVPController class for handling user input, such as keyboard and mouse events, to control an MVP transformation in a 3D scene. The class supports special keys, such as arrow keys and page up/down, as well as common keyboard inputs (like WASD) for navigation and movement. It also allows for mouse-based interactions, including rotation and panning, to control the scene’s model-view-projection state.

Classes: - MVPController: Inherits from MVPControl and implements input-related logic.

Classes

MVPController

Handles user input to manipulate MVPControl.

Module Contents

class picogl.backend.modern.core.shader.mvp.controller.MVPController(update_callback=dummy_update_handler, *args, **kwargs)[source]

Bases: picogl.backend.modern.core.shader.mvp.control.MVPControl

Handles user input to manipulate MVPControl.

update_callback[source]
mouse_mode[source]
lastX = 0[source]
lastY = 0[source]
on_special_key(key: int, x: int, y: int) None[source]

Handle special keys (arrows, page up/down, etc.).

on_keyboard(key: str, x: int, y: int) None[source]

Handle keyboard keys (WASD).

on_mouse(key: int, up: int, x: int, y: int) None[source]

Handle mouse button presses.

on_mousemove(x: int, y: int) None[source]

Handle mouse movement.