Back to Home Page
Motion Blur
Motion Blur is a free, professional program to simulate various visual effects like blur, judder or tearing that accompany a motion picture.
The motion picture is achieved in this program by scrolling a panorama image horizontally.
This is the same effect as filming still objects using a video camera which rotates about its vertical axis.
The level of each added effect is calculated automatically based on settings of the real parameters like: motion speed, frames per second, shutter speed and vertical synchronization.
This gives you a preview of how a real motion picture would look like when filmed with the custom parameters.
Download the latest version
Features/Applications:
- Blur effect simulation
- Judder effect simulation
- Tearing effect simulation
- Comparison of CRT monitor vs. LCD monitor regarding the level of introduced blur effect
- Comparison of LCD monitors with different response time regarding the level of introduced blur effect
- Various color mixing effects
- Free and open source code released under zlib license
- Cross-platform code
Future:
How to use it:
Motion Blur is a command line program and it is run using this simple syntax:
motionblur <*.tga file>
Currently only tga image format is supported.
The hardest task is to prepare this tga file.
For a simple use any panorama image will be good.
However for a professional use the image should meet the following requirements:
- Image quality
It is utterly on your side to prepare the image in the best possible quality before using Motion Blur.
If your image source is in any lossless format try not to process it through any lossy format (like jpg). Instead convert it directly to tga which is also lossless format.
- Vertical resolution
The image's vertical resolution should match your monitor's vertical resolution.
This will allow you to use the entire screen of your monitor. Please note that Motion Blur does not resize the image to avoid any loss of quality due to the interpolation.
If your image is vertically to big for your monitor consider cropping the image instead of resizing it. The whole idea is to preserve the image quality.
- Horizontal resolution
To achieve the right perspective it is recommended that the image's horizontal resolution is close to:
where:
x - monitor's horizontal resolution
k - distance between the observer (your eyes) and the screen of the monitor
w - screen width
Other requirements and recommendations
- Vertical synchronization
Unless you want to simulate tearing effect vertical synchronization (VSync) is a must . The best way to turn it on/off is to use your graphic card's control panel:
Windows:
Unix/X11:
Motion Blur also provides a way to control this synchronization. When running Motion Blur just add -vs1 or -vs0 parameter in the command line to turn VSync on or off respectively,
for instance:
motionblur someimage.tga -vs1
Internally Motion Blur will use a special command to control VSync. Please note that some graphic cards do not support it - specially ATI Radeon cards are known to ignore this command.
- Monitor
For this application an old CRT monitor is generally better than a new LCD. The first one is basically faster and does not introduce its own blur effect when displaying a motion picture.
The higher response time in a LCD monitor the more noticeable additional and unwanted blur effect. If a LCD is the only choice then the lower response time the better.
The maximal supported vertical frequency is also higher with the CRT giving you a chance to see the simulation at 100 Hz and sometimes even above that.
LCD monitors rarely go beyond 60 Hz. Also when working with a LCD monitor try to set the native resolution to avoid image scaling.
Key commands:
- H - Help menu
- UP/DOWN - Change the speed of how fast the image is scrolled horizontally. Speed is given in PPS unit (PPS = Pixel Per Second)
- SPACE - Run / Stop motion
- A/Z - Increase/Decrease frames per second (FPS). FPS is calculated by dividing refresh rate by rr_divider (refresh rate divider).
Therefore you change FPS only indirectly by changing rr_divider. You may set rr_divider to any integer value from range 1 - 6.
For instance if refresh rate = 60 Hz and and rr_divider = 1 the FPS = 60, if refresh rate = 100 Hz and rr_divider = 2 the FPS = 50.
- +/- - Increase/Decrease shutter speed (SS). Valid SS values are: 1/10, 1/12, 1/15, 1/20, 1/30, 1/60, 1/100, 1/200, 1/500, 1/1000, 1/2000, 1/4000 [s].
Although there are 12 different SS values some of them might not be available. For instance if FPS = 60 the time period that is assigned to one frame is 1/60 s.
This is also the longest time period for the shutter to operate. In this case valid shutter speed values are 1/60, 1/100 ... and all up to 1/4000.
Motion Blur automatically restricts changing this parameter to the correct values only.
- I - Show/Hide info data panel. This panel appears in upper left corner of the image. It shows the basic parameters of the simulation
If a parameter is in yellow that means its value is unstable or still being processed. It is common that with VSync=OFF FPS may not be stable. If VSync=ON and FPS is still unstable that
means the system resources are insufficient to render a frame within required time period. This effect might be caused by other running processes that share the system resources with this application.
- F - Switch between window and full screen mode
- Q - Quit the program
Contact info: lukas <at> newtechvisions <dot> com