How blender make use of C++ and C#?

Hello.

i’d like to take some night classes in programming this year. (Python + C++ or C#?)
which langage is used for making patches within blender ? C# ? C++ ? Both ?

i actually don’t know what C# or C++ is used for in blender

for example:
one is for data management the other for ui ?
one is dedicated for 3D and the other is for shading?
i have no ideas at all how it works, i’m confused.

https://cffi.readthedocs.io/en/latest/ if you want one Python lib to support multiple versions.

https://pybind11.readthedocs.io/en/stable/ if you want easy and powerful, but links to the Python version.

C++ is probably the best bet, wouldn’t touch C# for making Python addons. Rust is also one option. Reading through https://pybind11.readthedocs.io/en/stable/basics.html you can get an idea how it all connects together.

Hi ambi thanks for your answer.

sorry i think i didn’t express myself correctly. it’s about making patches, creating my own version of blender with new features that i could commit. ect…nothing to do with addons

i know that both C# and C++ are used in blender but maybe one is useless for making patches with new features (new modifiers, nodes, new UI menus… ect)

You’re probably confusing C# with C. Two completely different languages. Making patches is pretty straight forward. Download Blender, compile using it the guide, then just change the code, compile again. Create diff using Git and upload it to developer.blender.org as a diff, and hope a dev will pay attention.

1 Like

then just change the code

which is in C ? C++ ? Python ?
i just finished my studies, i’d like to learn more about python and another langage that could be useful for blender.

Depending on what you’re doing, you might have to know all three, plus a couple of APIs and how the code is structured.

There’s also this: https://wiki.blender.org/wiki/Main_Page

1 Like

Thanks a lot