You can get inexpensive "programmable" lasers that are controlled by DMX, but that protocol isn't fast enough (250kb/s) to do anything besides pick preprogrammed patterns. If you're up for some hacking / reverse engineering, maybe you could replace the control electronics for one of these.
Another alternative is a laser projector that uses the ILDA standard - it supplies
a bunch of analog channels over a DB-25 connector. With a projector and an ILDA DAC (typically connected via USB), you could write code to generate all the signals to drive the scanner + control the laser color. That'd mean generating 10 signals at audio-ish rates, so pick your language accordingly.
FWIW, there seem to be a handful of packages for the openFrameworks coding toolkit specifically for talking to ILDA ports, for instance:
Seconding ILDA. It's been the standard for decades and it is well documented and easy to interface with either at the software/library level, or even at the signal level. [1]
You can get a cheap "RGB" laser projector on eBay for ~200 [2]. It will have red, green, and blue lasers, and the interface will be willing to combine them 7 ways. A more expensive laser will have "analog" mixing for closer to true RGB. It will also likely have no documentation, and might be weird. I have one of these.
For something with better documentation, supported API, and lots of active development, check out Lasercube [3]. It has WiFi, a documented API, a Github repo with a client, and the base software is also really cool. This is my next planned upgrade.
Be careful: Most of these lasers put out 500+ mW and will instantly destroy your eyes if you make a mistake and stop scanning. It's not an exaggeration. Find out what wavelengths your laser outputs and get certified glasses to wear when working on it.
Saw the 100W programmable, target-able, aim-able, pattern form-able laser and was whoa... 100. Seems like it might be 100:1 power though.
The "Ultra" Lasercube in another comment (https://www.laseros.com/) is 7W. "Normal", is 1.2W. People already say it's dangerous. The input spec says it's 65W wall. Hopefully that's what's going on here.
If that's actually 100W out, that's so far in "Severe" eye hazard. That's more like laser cut materials severe.
Another alternative is a laser projector that uses the ILDA standard - it supplies a bunch of analog channels over a DB-25 connector. With a projector and an ILDA DAC (typically connected via USB), you could write code to generate all the signals to drive the scanner + control the laser color. That'd mean generating 10 signals at audio-ish rates, so pick your language accordingly.
FWIW, there seem to be a handful of packages for the openFrameworks coding toolkit specifically for talking to ILDA ports, for instance:
https://github.com/memo/ofxIlda