The following libraries are needed:
modernglPillownumpypyrr
Requires OpenGL ≥3.3
(Tested only on MacOS as of writing. However, since it only uses Python's built-in tkinter for GUI, there should be minimal issues running on other platforms.)
(TODO: add link for example data for people who download from GitHub.)
Run python3 main.py. Go to File -> Open and open one of the example scenes (e.g. scenes/LemonadeCollage.json).
Interface:
- Left-hand side: Tool selection.
AA-Scale: Axis-aligned scaling.AA-Rot: Axis-aligned rotation.Masking: Brush for removing/adding to an image's alpha channel.
- Right-hand side: Layer slection.
- Checkbox: select layer for transformation.
- Arrows: Change layer order.
- Top Panel: Single-click tools
Flip: Flip the image along the selected axis.Rot 90: Rotate the image by 90 degrees along the selected axis.
Controls:
1,2,3: Select an axis (x, y, z respectively) to apply a transformation along.Left Click/Drag: Apply the transformation by dragging horizontally.Right Click/Drag: Pan camera.
Menubar:
File -> Saveto save the current project. (Warning: some bugs are here, I would use Save-as instead.)File -> Exportsave as a cubemap.Layer -> Add Photoadd a new object to the scene. Example objects are indata/.... Select the image. To add more images, use the calibration tool (below).Layer -> Add Skyboxadd a new skybox to the scene. Example skyboxes are indata/skybox/.... Select the folder containing the skybox data.Layer -> Open Calibration Toolopen the tool for solving for a photo's principal point (optical center). Save by pressingsave.Layer -> Duplicate Selectedduplicate the selected layers.Layer -> Erase Selecteddelete the selected layers. Asks for user confirmation.
Have fun!