Ether Dream drivers for Go are now ready for testing.
https://github.com/tgreiser/etherdream
I need to do some path optimization, but there is already a nice Go library for rendering 3D vector art. Early days, but very promising results so far.
Ether Dream drivers for Go are now ready for testing.
https://github.com/tgreiser/etherdream
I need to do some path optimization, but there is already a nice Go library for rendering 3D vector art. Early days, but very promising results so far.
After doing some digging through three websites to find two libraries and a link to the GoDOCs page, the above post is a library to interface the Etherdream to a Vector art library for the "GO" programing language.
Sir, In the future please introduce yourself in your first posts, fill out a profile, and take some time to explain what your post is about.
Steve
Qui habet Christos, habet Vitam!
I should have rented the space under my name for advertising.
When I still could have...
Hey, I'm Tim - sorry for the brief post. I have been working on laser software in TouchDesigner platform and Go programming language. I also have a laser A/V project called scnlns. The tgreiser/etherdream link above is a new driver for the Ether Dream laser DAC that I have just released. If anyone else is interested in using Go for laser programming I would love to get in touch.
Hey Josh, feel free to shoot over any questions.
Update - after a little break I am making good progress again. I think we are approaching a stable release. I recently updated the driver to use a frame based approach instead of just sending points as quickly as possible. It is now possible to render an interactive scene based on 2D or 3D geometry.
The other big change is now there are command line flags that can be used by any go etherdream program to set scan rate, blank count, etc. On any program you can add:
go run examples/circle/circle.go -blank-count 18 -scan-rate 30000
go run examples/ln1/ln1.go -help
If you don't know about Go, think about it like C with garbage collection and concurrency primitives. It is fully cross platform and cross architecture so I expect all this code will run on Windows, Linux, Mac, BSD, Solaris and possibly Plan 9 and Android. You can compile cross platform binary executables that do not require an additional runtime. Performance wise it is a bit below languages like C or Rust, but it tries to make it easier for developers to write correct and performant code by having a low level of language complexity.
No, it is not technically object oriented, but it is object-like. You can define interfaces and methods, but there is no real inheritance. It uses embedded types to represent relationships.
https://tour.golang.org/methods/1
The other unusual restriction is there are no exceptions. Error handling is strongly encouraged at every step of execution. At first it seems like a burden, but in the long run you realize you never have to deal with nulls or unexpected conditions because you would have handled the error already.
https://tour.golang.org/methods/19