Skip to content

A curated list of free add-ons and scripts for Godot, but for fast computation and scientific methods!

License

Notifications You must be signed in to change notification settings

Ivorforce/Awesome-Godot-Scientific

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 

Repository files navigation

Awesome Godot Scientific / Computation

A curated list of free add-ons and scripts for Godot, but specifically for hyperoptimized computation and scientific methodology.

You can find a general list for free Godot stuff in Godot's own Awesome Godot.

If you find this interesting, you may want to join our Godot Scientific Discord: https://discord.gg/mwS2sW6V5M.

What is scientific software?

For the sake of this repository, scientific software is software that is commonly used by scientists to achieve their goals. You may have heard of software such as NumPy, tensorflow and MatLab. These are the kinds of things we are talking about.

What is hyperoptimized computation?

General-purpose programming is very useful. But when you have large amounts of data, your program can start to slow down a lot. This is because general purpose programming can waste a lot of CPU cycles for duplicated or unnecessary logic.

To solve this issue, many smart people have optimized common operations, such as addition, matrix multiplications, or even convolutions. This comes in many forms, but often involves hyperoptimized CPU or GPU instructions such as SIMD or CUDA. If you want your code to be fast, you can use these implementations to speed it up.

I need help deciding how to implement my algorithm!

If you have a computation task, and you aren't sure where to start with optimization, this flowchart may help you decide on a particular strategy to use. The flowchart will suggest you the option that involves the least amount of effort, depending on your use-case. Keep in mind it makes a recommendation, and should not be regarded an authority as to which library actually fits your use-case best.

---
title: Which approach should I take for a computational problem in Godot?
---

flowchart TD
    Start[Is plain GDScript / C# sufficient?] -->|No| ExistingLibrary(Does any existing library offer algorithms that can solve your probem?)
    Start -->|Yes| GDScript(Use GDScript / C#.)
    ExistingLibrary -->|Yes| UseExistingLibrary(Use a library that covers your problem.)
    ExistingLibrary -->|No| Export(Do you need to export your project for others to use?)
    Export -->|Yes| Vectorizable(Is your problem parallelizable / vectorizable?)
    Export -->|No| Python(Use the Python GDExtension, and a fitting Python library.)
    Vectorizable -->|No| GDExtension(Write a custom GDExtension.)
    Vectorizable -->|Yes| Convenient(Do you just want the most convenient option?)
    Convenient -->|No| Static(Is your problem representable by a compute graph?)
    Convenient -->|Yes| NumDot(Use NumDot.)
    Static -->|"Yes, and I don't mind using Python (or something else) to build it."| IREE(Use IREE.gd.)
    Static -->|No| GPU("Can your algorithm be run on the GPU?")
    GPU -->|Yes, and I don't mind putting in extra effort for extra speed.| ComputeShader(Use compute shaders.)
    GPU -->|No| NumDot(Use NumDot.)
Loading

Contents

Add-Ons

Computation (a-z)

Visualization / Plotting (a-z)

  • EasyCharts: Godot-native charts and plots.
  • GDMatPlot: Extensive plots and charts library, with GNUPlot.
  • GodPlot: Godot4 native graphing plugin. Works as @tool in the editor.

Scripts (a-z)

None yet.

Tutorials and Guides (a-z)

Other

About

A curated list of free add-ons and scripts for Godot, but for fast computation and scientific methods!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •