03-24-2014, 06:18 PM
The question is, are all of those 150+ generator plugins true rewrites of the generator, or do they only change some constants in the default generator, or add some rare contents? I believe most of them would work well enough within our current API.
If we needed really performant Lua generators, the proper way to go would be to write a set of C++ classes that handle the 2D and 3D arrays of NOISE_DATATYPE, and operations with them - GeneratePerlin, Multiply, Add, Threshold, etc. This way the calculation-heavy code will be in C++ while the plugins will still have the chance to use it.
If we needed really performant Lua generators, the proper way to go would be to write a set of C++ classes that handle the 2D and 3D arrays of NOISE_DATATYPE, and operations with them - GeneratePerlin, Multiply, Add, Threshold, etc. This way the calculation-heavy code will be in C++ while the plugins will still have the chance to use it.