I don't have time to play, but this looks very very cool. At a minimum,
its a great demonstration of Pharo/Smalltalk playing-well-with-others.
Some feedback on the video presentation, zooming in on the workspace to
make the text more readable in low-def video streams, then zooming out
just before it is executed would be useful.
cheers -ben
kilon alios wrote:
Its far from production ready but I am too excited to keep to myself.
I present to you Ephestos.
Ephestos is a socket bridge that communicates with Blender the most
popular and most powerful open source 3d application.
http://www.blender.org/
The goal is to expose Blender coders to the power of Pharo and Pharo
to the power of Blender. As you can imagine the potential is huge but
I rather talk what Ephestos can do already.
Even though Ephestos is in total less than 200 lines of code it can
already communicate with blender and affect blender properties.
Blender properties are basically instance variables for any kind of
blender object, 3d object, material, textures etc So already you can
affect a huge deal of blender .
Unfortunately Blender operators seem to crash Blender , probably I am
doing something stupid that I will fix. Blender operators are for
performing blender actions so they are very important.
I have made a simple video demo of it that can be watched here
https://www.youtube.com/watch?v=8igk9DoY6PU&feature=youtu.be
<https://www.youtube.com/watch?v=8igk9DoY6PU&feature=youtu.be>
To use it you need first the Blender addon which can be found here
https://github.com/kilon/pyEphestos
The code should be inside a folder named "pyEphestos" and placed in
Blender addons directory which is located for Macos in Application
Support/Blender/VersionsOfBlender/scripts/addons and in Windows should
be in App Data/Roaming/..... or you can place it inside the blender
folder in similar sub directory
You also need the Pharo code which can be found here
http://www.smalltalkhub.com/#!/~kilon/Ephestos/
<http://www.smalltalkhub.com/#%21/%7Ekilon/Ephestos/>
As I said it is far from production ready , but it works.
The good news is that the socket communication is blazing fast, at
least compared to what I expected. I was able to perform 1000
connections under a second. And each connection carries a 1024 bytes
messages , thats a lot of code. Should be possible to pass thousands
of lines of code under a second to Blender.
My only worry is blender itself since it tends to be very crashy in
the areas I am pushing.
By the way Always press esc after you enable Ephestos in Blender to
close the socket or else it wont free it and next time you wont be
able to open the socket and you will have to restart your OS. And do
not make an error with the string passed . I need to add an exception
for it so it wont crash blender.