Metadata-Version: 2.2
Name: basilisk-engine
Version: 0.2.22
Summary: Python bindings for the Basilisk C++ library
Keywords: graphics,game-engine,3d,2d,opengl,physics,simulation,rendering
Author-Email: Jonah Coffelt <coffelt.jonah0918@gmail.com>, Isaac Lagoy <isaacblagoy@gmail.com>
Maintainer-Email: Jonah Coffelt <coffelt.jonah0918@gmail.com>, Isaac Lagoy <isaacblagoy@gmail.com>
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: C++
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Games/Entertainment
Project-URL: Homepage, https://github.com/BasiliskGroup/BasiliskEngine
Project-URL: Repository, https://github.com/BasiliskGroup/BasiliskEngine
Project-URL: Documentation, https://github.com/BasiliskGroup/BasiliskEngine#readme
Project-URL: Bug Tracker, https://github.com/BasiliskGroup/BasiliskEngine/issues
Requires-Python: >=3.9
Provides-Extra: build
Requires-Dist: pyinstaller>=6.0; extra == "build"
Description-Content-Type: text/markdown

# Basilisk Engine

## Building and Running the Project

To build this project from source, you'll use **CMake**. Follow these steps from the command line:

1.  First, navigate to the `build` directory:
    ```bash
    cd build
    ```
2.  Next, run CMake to configure the project. This generates the necessary build files for your system.
    ```bash
    cmake ..
    ```
3.  Then, use CMake to build the project. This compiles the source code and creates the executable file.
    ```bash
    cmake --build .
    ```

Once the build is complete, you can run the final program with this command:

```bash
./render
```

## steps for publishing wheels

```
cmake .. (from build)
cmake --build build (from root)
cmake --install build --prefix ./python
pip install build (run once)
python -m build
```

# Todo

## Rendering
- [x] Lighting System
    - [x] Directional
    - [x] Point
    - [ ] Spot
    - [x] Ambient
- [x] Skybox
- [ ] Shadows
- [ ] Basic PBR
- [ ] Bloom
- [ ] Text Rendering
- [ ] SSAO

## QOL
- [ ] Default lights
- [ ] Default material/texture
- [ ] Material from path
- [ ] Default Mesh

## Optimizations
- [x] Forward+
- [ ] CSM
- [ ] Frustum Culling
- [ ] Auto LOD (meshoptimizer)
- [ ] Instancing

## Physics


I want to set up a build script that will to automate pyinstaller building from python. 
1. call pyinstaller on a given file
2. Copy all the top level files and folders (other than those generated by pyinstaller) into the dist/.../_internal/ folder.