|
1 | 1 | # Crispen |
2 | 2 |
|
3 | | -Lightweight color grading suite resembling Davinci Resolve(TM) color page. Supports OpenColorIO and OpenFX. Can be used as a stand-alone app for fast color adjustments, or as a LIB for embedding into other software. |
| 3 | +Lightweight color grading suite resembling Davinci Resolve(TM) color page. Supports OpenColorIO and OpenFX. Can be used as a stand-alone app for fast color adjustments, or as a LIB for embedding into other software. |
4 | 4 |
|
5 | 5 | Serves as the color module for Studio Whip, providing optomized support for real-time grading of hybrid 3D/2D scenes. |
6 | 6 |
|
7 | | -## CI: Prebuilt OCIO Setup |
| 7 | +## Prerequisites |
8 | 8 |
|
9 | | -The GitHub Actions workflow includes a `build-ocio-prebuilt` job that builds |
10 | | -the demo with `--features ocio` using a prebuilt OCIO install path. |
| 9 | +### System Dependencies (Ubuntu/Debian) |
11 | 10 |
|
12 | | -Required repository variable: |
| 11 | +```bash |
| 12 | +sudo apt install libopencolorio-dev libopenimageio-dev |
| 13 | +``` |
13 | 14 |
|
14 | | -- `CRISPEN_OCIO_PREBUILT_DIR` |
15 | | - - Set this in GitHub: `Settings -> Secrets and variables -> Actions -> Variables`. |
16 | | - - Value must be an absolute path on the CI runner to an OCIO install prefix. |
17 | | - - The path must contain: |
18 | | - - `include/` |
19 | | - - `lib/` or `lib64/` |
| 15 | +These provide the OpenColorIO (OCIO) and OpenImageIO (OIIO) libraries used for |
| 16 | +color management and image I/O. The build scripts discover them automatically |
| 17 | +via `pkg-config`. |
20 | 18 |
|
21 | | -If this variable is unset, the `build-ocio-prebuilt` job is skipped. |
| 19 | +### Rust |
22 | 20 |
|
23 | | -Local equivalent: |
| 21 | +Install via [rustup](https://rustup.rs/). |
| 22 | + |
| 23 | +## Building |
24 | 24 |
|
25 | 25 | ```bash |
26 | | -make ci-build-ocio PREBUILT_OCIO_DIR=/path/to/opencolorio-install |
| 26 | +# Core workspace (no OCIO/OIIO features) |
| 27 | +cargo build --workspace |
| 28 | + |
| 29 | +# Full build with color management and image I/O |
| 30 | +cargo build --workspace --features crispen-demo/ocio |
| 31 | + |
| 32 | +# Run the demo app |
| 33 | +cargo run -p crispen-demo --features ocio |
| 34 | +``` |
| 35 | + |
| 36 | +## Linting |
| 37 | + |
| 38 | +```bash |
| 39 | +make ci-lint |
| 40 | +``` |
| 41 | + |
| 42 | +## Advanced: Overriding Library Paths |
| 43 | + |
| 44 | +If you need a specific OIIO/OCIO version instead of system packages, the build |
| 45 | +scripts support explicit overrides (checked before pkg-config): |
| 46 | + |
| 47 | +```bash |
| 48 | +# Point to a custom install prefix |
| 49 | +export CRISPEN_OIIO_PREBUILT_DIR=/opt/oiio-2.5 |
| 50 | +export CRISPEN_OCIO_PREBUILT_DIR=/opt/ocio-2.3 |
| 51 | + |
| 52 | +# Or skip native builds entirely (check-only / lint mode) |
| 53 | +export CRISPEN_OIIO_SKIP_NATIVE_BUILD=1 |
| 54 | +export CRISPEN_OCIO_SKIP_NATIVE_BUILD=1 |
27 | 55 | ``` |
0 commit comments