Displays images on a screen for the purposes of creating analog moving images from digital sources
Go to file
Matt McWilliams b5f7ade7b3 Remove image manipulation and color separation code from the display code 2025-12-16 14:33:27 -08:00
cmake-modules Create basic elements needed for the project 2024-04-15 19:09:42 -06:00
img Have display / stop functionality working generally, but textures not appearing properly. 2024-05-05 11:28:20 -04:00
include Remove image manipulation and color separation code from the display code 2025-12-16 14:33:27 -08:00
notes Remove image manipulation and color separation code from the display code 2025-12-16 14:33:27 -08:00
src Remove image manipulation and color separation code from the display code 2025-12-16 14:33:27 -08:00
test Updated tests 2024-05-14 20:23:22 -04:00
.gitignore Add notes about channel manipulation in python 2025-11-30 05:00:44 -08:00
.gitmodules Work on DPX import 2024-11-24 10:38:36 -05:00
CMakeLists.txt Update cmakelists to fix build on new machine 2024-10-22 15:17:58 -04:00
LICENSE Add MIT License 2024-04-16 10:27:36 -06:00
README.md Remove image manipulation and color separation code from the display code 2025-12-16 14:33:27 -08:00
compile.sh Create basic elements needed for the project 2024-04-15 19:09:42 -06:00

README.md

filmout_display

This repo contains the source code for the filmout_display binary that displays images on a screen for the purposes of creating analog moving images from digital sources. This application will take over the full screen when launched and display frames as instructed with JSON objects sent over a TCP socket.

The purpose of this binary is to create a full-screen "digital shutter" that exposes images for precise amounts of time. A digital shutter allows for a range of exposures that cheap, physical mechanical hardware is incapable of. Capable of exposures as short as 1ms depending on the capabilities of the screen and graphics hardware driving it.

Features

  • Display image full screen, maintaining aspect ratio of original
  • Display image scaled for different capture requirements and stocks
  • Display image for specified length of time in milliseconds
  • Display image until instructed to stop

Future Goals

  • Fix macOS support (currently doesn't work with high density displays)
  • Handle 10bit Displays

Dependencies

Submodules

To clone this project with the malcolmhumphreys/dpx, nlohmann/json and Taywee/args submodules included:

git clone --recursive https://git.sixteenmillimeter.com/16mm/filmout_display.git

If you have already cloned this repo:

git submodule init
git submodule update

Installing on Debian-based systems

apt install cmake g++ freeglut3-dev libopencv-dev

Installing on macOS with Homebrew

brew install freeglut glew glfw glm opencv