This repository is a base for projections which use 3D scenes. Visit http://projectionist.array.bz/projections for example projections based on this project.
The scratch project is developed to be built on a Debian VM or a Rapsberry PI as detail on the tools page page of the project website.
- check out the project by cloning the git repository
cdin to the project folder- run
vagrant up - run
vagrant reload(required: for Projectionist start Weston) - run
vagrant ssh - run
make clean. It is a good idea to run these when switching between different branches of the same repository. - run
make - run
bin/main. you should see a full screen, white trapezium on a black background.
root dir, run (e.g.) `make` here .
├── bin
vendor code ├── include
│ └── projection
platform specific code code ├── platform
│ ├── rpi
│ │ └── projection
│ └── weston
│ └── projection
the source for the projection └── src
└── scratch
- Vendor code is where we put depedencies which are not installed with the OS package manager
- The platform directory lists routines for establishing a OpenGL ES 2.0 contexts
- The source directory is the place to implement your projection
The build system targets raspberry pi as the end platform and a debian VM running Wayland (weston) as a development environment.
There is a single entry point: projection::play(drawing) for each platform.
Platform-specifics are decided in the implementation files in platform/*.
In the folder corresponding to each platform, play.cpp implements this method.
The build system selects the correct implementation.
http://projectionist.array.bz/tools
Based on the simple-egl example from weston source code: https://github.com/krh/weston/blob/0eab05d2a7cf610e4d049dfd81b0100d4219e305/clients/simple-egl.c