I am designing an ILD file creation program from scratch using VB.NET.
I do not own a laser projector thus can only get tests run occasionally by someone who does. (please do not post telling me to get one, I'm fully aware it would simplify the process)
After having read the ILDA specification on ILD files, There appears to be a lot more going on to get the desired result, which is not documented.
Although it appears to show up fine in the quickshow previews, it can come out completely different on the actual laser projector. My guess is it may be due to electrical bandwidth issues, or to do with mechanical acceleration and deceleration oh the mirror's mass with a variable torque at each angle (i had assumed the galvo control circuit compensated for all this).
The purpose of this post will be to collect knowledge and suggestions in order to form an actual implementation document that I and other members can use.
I may be able to provide ild files or photos for examination if required.
Some examples of questions i have: (not a complete list, as I'm not sure the questions to ask)
operation
continual redraw of the frame until T(1/fps) is up?
does the laser remain at the last point between frames or move to 0,0?
if 0,0, do i need to draw a blanked line to the starting point?
should the end point have a blanked line to 0,0?
drawing lines
is it set colour, then move? or move and then set colour?
when to use point to point?
when to add dwell points?
min, recommended, max specifications on dwell points?
should dwell points be 'accelerated' then 'decelerated'?
only 1 of each dwell point?
getting the start and end of lines to be correct
1 of each start/end point? more?
joining lines
do i need to do something different when connecting visible vs blanked lines?
do i need to do something that depends on the angle of the join?
should the start point of the next line be skipped because its the end of the previous?
1 of each end segment? more?
same of different rules between segment ends and segment points?
blanking
should blank lined be dwelled?
do i need blanking on the last point of a frame?
should it be treated as any other line segment?
dots
anything special about drawing dots? or moving to or away from them?
should the intensity of dots be limited if there are very few of them per frame?
software
how well is custom palettes supported? so far it only seems to work in quickshow, open errors in others.
the ILDA file format datasheet mentioned no software supports 24 bit colour format, is this still true?