Hi Grant,
So you've got a few options here. OLA doesn't really care about the RGB aspect of the OPC data, it's just channels/slots which it maps to DMX channels/slots, so you could do the mapping/maths within your app/in web socket land or whatever if you wanted, then just patch the first OPC output to your DMX universe and your sorted.
However doing it within the OLA end of things is also perfectly possible, just patch the OPC output to universe 1 say, your DMX output to universe 2 and have an OLA client which listens on universe 1, generates processed output and sends that to universe 2. For the client, take your pick from our supported languages:
If you have a search on the mailing list, a few people have done similar code (the input, process, output, maybe not the colour mapping, but there has been other discussion on that.
Regarding Windows, the Micro uses our USB Pro plugin, which currently works on serial ports in *nix, so would need some rewriting for Windows. It's not impossible, something like the FTDI library would probably do the job and there's only some fairly low-level bits which would need switching, once the port is open, then the data read/written should be the same regardless, so if you wanted to give that a go we could give you a hand with it?