The first thing to mention here is: always report bugs! As we all know, things might not work always as intended. Have a look to the FAQ and open issues in case of trouble or consider reporting a bug. Only if you tell us about problems, we can fix them.

For the users

You start OpenWalnut from command line with bin/openwalnut. In order to use OpenWalnut you will need some data for visualization and processing. You may download some from here, here or here.

For the developers

We provide a lot of developer information. Some of them directly relate to programming OpenWalnut and modules for it, where others relate to debugging or working with the source.

General coding guides and API documentation

New to OpenWalnut developmnent? You should read these guides first. These links provide you with the basic set of tools and resources you will need.
They show how we style our code and which programming rules we enforce. Additionally, we guide you through the process of setting up and using profiling and debugging tools.

Programming with OpenWalnut

After you have setup your development environment, you can start developing your first modules for OpenWalnut. You should start with reading our extensively documented example module source:src/modules/template. It shows how modules are structured and helps you understanding the OpenWalnut core API involved in this.

  • Module Programming
    • Concepts behind OpenWalnut's module system
      • This covers basic concepts of our module graph
      • Deeper insight into the connector and property mechanism
    • How to write modules - the infrastructure
      • This tutorial explains the framework and build system
      • Shows the infrastructure we provide for easy and intuitive module development
      • Follow this tutorial when you begin a first, own module
    • The ultimate Module-Writing-HowTo and example: source:src/modules/template/
      • This example provides extensive in-source documentation for every line of code.
      • You should use this module as a reference.
      • It explains:
        • General module development
        • Using modules as containers, reusing other modules
        • Writing shaders and using OpenWalnut's shader tools
        • Utilizing colormapping in your modules
        • Writing own GLSL/OpenGL postprocessing pipelines
        • ... and more.

OpenWalnut Releases

This section contains several links about our release-management. How we handle releases and what needs to be done before releases. This mostly is interesting for the OpenWalnut-team but can be interesting for others too.

Project Structure and Contribution

Are you interested in how we make decisions, how the project is organized and how you can contribute? Have a look at these pages.

Further Information (including introductory)

For unknown abbreviations or terms you might have a look into the Glossary. Some information, regarding techniques offered by OpenWalnut, may be also described on Publications page. For more general information please have a look at the Literature page.