# SkyLok

Pi Zero W 2 captures frames, runs a motion shader, sends diffs over LoRa.

- `camera_example/`   — libcamera + libjpeg-turbo, streams MJPEG over TCP. Works.
- `shader_example/`   — offscreen GL motion diff between two frames. Works on desktop.
- `math_example/`     — pixel → 3D vertex projection (depth map to OBJ mesh).
- `chip_test_example/` — LR1121 LoRa + ICM-20948 IMU + u-blox GPS drivers/tests.
- `main.cpp`          — prototype that wires camera + shader + TCP together.

References:
- https://www.youtube.com/watch?v=zFiubdrJqqI
- https://github.com/ConsistentlyInconsistentYT/Pixeltovoxelprojector/

## Build main.cpp

```sh
g++ main.cpp -o main \
  $(pkg-config --cflags --libs libcamera libevent) \
  -levent -levent_pthreads -lpthread \
  -lturbojpeg -lglfw -lGLEW -lGL -lEGL -lGLESv2
```
