How wanghaoyang-wilson/cpprenderengine_opengl works
PyRecT3D is a cross-platform C++ 2D/3D rendering engine with a Python extension. Its documented workflows start through either the explicit multi-window API or the implicit single-window API, then use shared engine, scene, rendering, and optional GUI, collision, and media capabilities. The README documents the API distinctions and major features; source excerpts expose selected engine, queue, and platform behavior. Some subsystem links are therefore omitted where sampled source does not establish the call.
Main entry points: engine.cpp Engine and scene · explicit_app.cpp Explicit API · message_queue.cpp Message queues · renderer.cpp Renderer
Components 20
Application APIs
- Explicit API
cpp/src/core/explicit_app.cpp - Implicit API
cpp/src/core/implicit_api.cpp
Engine Runtime
- Engine and scene
cpp/src/core/engine.cpp - Message queues
cpp/src/core/message_queue.cpp - Event loop
cpp/src/core/event_loop.cpp - Math primitives
cpp/src/foundation/math/math.cpp
Rendering and UI
- Renderer
cpp/src/graphics/renderer.cpp - GL backend
cpp/src/graphics/gl_backend.cpp - Compositor
cpp/src/graphics/compositor.cpp - GUI components
cpp/src/ui/gui.cpp
Interaction and Media
- Collision world
cpp/src/physics/collision_world.cpp - Video manager
cpp/src/media/video.cpp - Audio
cpp/src/audio/audio.cpp - OBJ loader
cpp/src/foundation/io/obj_loader.cpp
Platform and Python
- Platform adapters
cpp/src/core/platform/platform_private.h - Python bindings
cpp/src/bindings/python/binding.cpp - Web bridge
WEB/bridge/pyrect3d_web.js - Android bridge
Android/apk/jni/native_bridge.cpp
Other components
- Application developer
- Engine user
Connections 20
- Application developer → Explicit API: configures and starts
- Application developer → Implicit API: starts quick app
- Explicit API → Engine and scene: creates windows
- Implicit API → Engine and scene: starts shared core
- Explicit API → Message queues: mounts window queues
- Engine and scene → Platform adapters: creates platform
cpp/src/core/engine.cpp - Engine and scene → Math primitives: uses scene geometry
- Engine and scene → Message queues: dispatches events
- Explicit API → GUI components: creates and binds UI
- Explicit API → Video manager: creates players
- Engine and scene → Renderer: renders scene
- Renderer → GL backend: uses graphics backend
- Renderer → Compositor: submits for composition
- GUI components → Compositor: contributes UI drawing
- Engine and scene → Collision world: supports collision queries
- Video manager → Message queues: publishes media events
- Collision world → Message queues: publishes collision events
- Engine user → Python bindings: uses Python extension
- Web bridge → Platform adapters: bridges Web runtime
- Android bridge → Platform adapters: bridges Android runtime