:local:
:depth: 3
Note
this add-on consists of two parts:
the blender add-on;
a python package used create files compatible with SNNIB;
- if you find this add-on useful in your work, an acknowledgement would be appreciated:
@software{PY_Steinwender2026_snnib,
author = {{Steinwender}, Lukas},
title = {SNNIB: Spiking Neural Networks Into Blender},
month = Mar,
year = 2026,
version = {latest},
url = {https://github.com/TheRedElement/snnib.git}
}![]() |
![]() |
| randomly generated network | imported brian2 network (source) |
![]() |
|
| imported brian2 network (400 neurons, 1260 synapses, source) |
Note
you can also render much larger networks depending on your hardware. on a 16GB RAM, 16 core laptop I tested up to 1600 neurons. The main issue you will run into is that there is so much going on, that it is hard to distinguish individual neurons and neurites.
more detailed documentation can be found in the readthedocs page
- download releases/snnib.zip
- in blender
- navigate to
Edit > Preferences > Add-ons - drag and drop the downloaded file (snnib.zip) into the window
- click
OK
- navigate to
see Video Tutorials for screen recordings
- in
Viewport Displayexpand the right side panel (by hittingn) - initialization (only needs to be done once right after loading)
- run all the operators in the
Actions > Initializationbox in order- done by clicking the respective buttons
- necessary to have all building blocks for a functioning network available
- run all the operators in the
- generate a
Template Neuron- will be used as source to instance neurons in your network
- it is recommended to use the generated template neuron and adjust it to your liking via the associated
Geometry Nodesmodifier- you just need to modify the
Geometry Nodeson the template neuron as all changes will be reflected on all instances
- you just need to modify the
- adjust the
Settings- provide a
Network Container- I recommend a cuboid because the add-on uses the objects bounding box to define the neuron positions
- adjust the remaining settings or styling in the
Template NeuronsGeometry Nodes
- provide a
- make sure to
Apply Scaleon theNetwork Container(and potentially also theTemplate Neuron) - hit
Build SNNto generate your network
- one time-step (
$dt$ ) in a SNN simulation is mapped to a single frame in blender
- simply install via
pip
pip3 install git+https://github.com/TheRedElement/snnib.gitfor tutorials checkout tutorials
- random network generation
- brian2
If you want to compile the add-on yourself (i.e., in case you made some changes to a forked repo and want to compile an updated version) you can do so by calling the following from the repository root:
bash publish.sh- because a lot of geometry is generated when building a large network,
crtl + zwill likely fail
- geo nodes node trees and shader nodes node trees do not persist when reloading the
.blendfile - save function (to store network randomly generated with
snnib)
generating random network
loading network from file
control using geometry nodes



