[#8067] external texture plugin thread-safe modifications
Submitted By: David Anderson (davywavy)
It makes it so the "result" array is passed in, instead of a global var.
I expanded the patch so it will play nice with older plugins that are not
thread safe as well.
I also updated the existing plugins in the release, so they are thread safe.
--------------- What do people think of this.... ------------------
This should maybe be talked about in the functionality board or something,
but what do people think of adding in default texture/sequence plugins.
or making a seperate tree like lib for plugins.
The reason I ask is we have had a couple of upgrades to the plugin system.
(supporting float buffers for sequencer, and this one for textures)
http://www.cs.umn.edu/~mein/blender/plugins does not store revisions of
plugins I just make sure they work with the latest version. This is
getting messy. I haven't upgraded a lot of them to use floats (I know,
I'm lazy, and now this will also make modifications to the plugins)
It would be nice to have some of the standard ones under revision control.
We also seem to be having an explosion of platforms supported. It would
be nice to have platform maintainers compiling plugins as well for releases.
(Its getting to be more work for me to keep up with things...)
I'll go back to my corner now and be quite. ;)
Kent
Added a callback instance_init() so that any particular instance of a
texture plugin can initialize data. Updated the clouds2 and tile example
plugins to have a (dummy) call back.
- the .so files are copied to the installation dir plugin/ directory now
(other platforms copy it to the .blender dir, which doesn't exist there
for OSX)
- plugin C files got #defines for return values, was old patch I applied,
but was never committed
junkies will be happy to find the datatoc.c program in the
datafiles directory).
Some quick notes:
* 'datafiles' has the version 2.21 splash.jpg and blenderbuttons (e.g., so
no NLA icon). Someone should at least get the 2.25 blenderbuttons from
somewhere and commit them.
* 'text' has obsolete content/license
* I did not include the python scripts as they have copyright
Jan Walter and no license specified.
* I changed to unix line terminators everywhere with the exeption of the
'windows' directory.
Chris