NGnius d630bb5827 Implement instruction parser (untested) | 3 years ago | |
---|---|---|
src | 3 years ago | |
.gitignore | 3 years ago | |
Cargo.toml | 3 years ago | |
LICENSE | 3 years ago | |
README.md | 3 years ago |
The best Canadian camera technology since IMAX.
FilmScript uses a simple function syntax which you will be familiar with from most modern programming languages like C and Python.
The end of an operation is denoted by a new line \n
.
Multiple operations can be performed simultaneously by placing them on the same line.
Lines are executed sequentially starting from the top of the file until the end.
Here's a generic example of the syntax:
operation1(operand1, operand2, operand3)
operation2(operand1, operand2)
operation3a(operand1) operation3b(operand1, operand2)
FilmScript is a set of commands that can be used to describe a camera and it's movements in time. Supported operations and their operands are outlined below.
Here's an example of a functioning FilmScript file using some of the supported operations:
#version 0.1.0
look(0, 0, 0), move(0, 0, 0)
track(20, 0, 20, 5), rotate(0, -5.5, 0, 5)
rotate(0, 5.5, 0, 2)
track(-20, 5, 0, 5)
Move the camera relative to the current position and rotation. Use a negative value to move backwards. This operation supports linear interpolation through the optional TIME operand (seconds).
Move the camera to an absolute position.
Rotate the camera clockwise around the axes, relative to the current rotation. Use a negative value to rotate counter-clockwise. This operation supports linear interpolation through the optional TIME operand (seconds).
Rotate the camera to an absolute rotation.
Perform multiple operations simultaneously. This is implicitly used whenever more than one operation appears on a single line.