Sample Generator

Sample Generator

It is possible to create your own custom nodes to use with Beyond Magic and MapMagic.
This will take some personal study, but Beyond Magic includes a starting point as well as some basic integration support for your custom content.

Sample node

You can find a commented blank sample node in
Assets/BeyondMapMagic/Generators/BeyondGPUSampleGenerator.cs

To include your own custom GPU generator into the MapMagic tools:

Your custom node now appears under the Create menu item in the MapMagic context menu. To position it in the menu change the "MyGPUGenerator" text in the uncommented GeneratorMenu row.
You can now experiment with your custom node and observe the changes in the MapMagic controls.

Your custom generator behavior

Your Generator functionality will be called through your Generate method, which already contains functionality to interact with MapMagic and Beyond Magic.
Instead, pay attention to your GenerateGPU and GenerateParallel methods. These methods should be extended contain your custom node behavior. Observe and contrast the sample functionality to plan your own CPU vs GPU behavior.

Parallel vs. GPU generation

Your custom node is assumed to contain Parallel (CPU based GenerateParallel) and GPU (GPU based GenerateGPU) functionality for your custom Beyond Magic node.
The context menu quick selections will support switching between these modes for your custom functionality as well, so it is advised to implement both versions of the functionality.