Skip to content

About

A lightweight OpenGL-based 3D world editor written in Python, featuring real-time scene editing, model loading, dynamic lighting, and interactive object manipulation.

Topics

Resources

Stars

7 stars

Watchers

1 watching

Forks

Latest commit

 

History

18 Commits

Folders and files

Repository files navigation

Comp 3_04707

Version Windows Linux macOS Stars Sponsor

📦 Requirements

This project requires Python 3.8+ and the following packages You can install all dependencies using:

pip install -r requirements.txt

✨ Features

🗺️ Scene Management

  • Load and save scenes to/from disk
  • Add or remove models dynamically
  • Translate and rotate objects in the scene
  • Visualize a built-in starry skybox (not editable yet)
  • Translate objects using on-screen gizmos (mouse-controlled)

🧱 Model Support

  • Load models in .obj format
  • Parse and apply vertex colors from .mtl files
  • Load and render textures in .png format

💡 Lighting System

  • Add custom light sources to your scene
  • Control light color, radius, and brightness
  • Real-time lighting updates in the viewport

🎥 Camera Modes

  • FPS-style camera movement for free exploration
  • Optional camera auto-rotation (1-axis)

🔗 Library Integration

  • The core features of the project can be easily reused as a standalone OpenGL world editing library.
  • An example of such integration can be found here, where a scene was designed using this editor, then saved to disk and later reloaded using the OpenGL rendering output and scene-loading functions provided by this project, to render the scene independently in the linked program.

Videos

Free camera

0607.3.mp4

Light sources, Gizmo transforms

0607.4.mp4

About

A lightweight OpenGL-based 3D world editor written in Python, featuring real-time scene editing, model loading, dynamic lighting, and interactive object manipulation.

Topics

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages