I am currently studying graphic computing and saw your Blender project and i would like to start to study in order to collaborate in a future.
I saw that it was Open Source and I would like to start studying it, however my computer graphics knowledge is still very poor. Do you have a book or reading that you can recommend to understand more about your project or graphic computing?
Also, your question is far too vague to answer. Do you want to help develop Blender? If so, which part/feature? What languages do you know? Do you want to learn to use Blender? Or did you want to develop Python addons for Blender?
Thank you for your answer and sorry for my English:
Yes, i would like to help develop Blender in a future, but i’m noob in copmputer graphic area, so i’m starting to study the area, how to program, and understand how it works
Thanks for the clarification. It wasn’t bad English, I just wanted to be sure about the nature of the question.
And honestly, it was kind of a leading question – learning to use Blender and write its Python API are both good ways of learning and understanding Blender. Very likely, there’s a specific feature or workflow in Blender that excites you, or some feature that isn’t in Blender that you want to add. Maybe you don’t even know this yet! You’ll find something that excites you if you spend some time learning this basic stuff.
The fist thing to do, in any case, is build Blender.
Once you decide on a first project, start looking around the module page on developer.blender.org and read the commits and the discussions (don’t add discussion unless it is appropriate; some tasks are only for code discussion by module members). You can contact some of the developers on blender.chat . And of course, there’s no substitute for reading the code, and trying things out the old-fashioned way: trial and error.
If you already know some C/C++ or Python and want to make changes but don’t know what to do: ask the developer chat (use the login you used here): https://blender.chat/channel/blender-coders
If you do make changes to blender and want to share it then you will need to make a phabricator account for developer.blender.org account (which is a different account from your blender-ID). Just keep in mind that code review is not for everyone and takes a lot of commitment and communication skills and lots of time. Don’t worry about that yet. Just learn your way around the codebase.
You should be able to set some debug points in your build environment to inspect it step by step a bit more. Just keep in mind that blender is a production product with a lot more going on in order to support more complex models/data. While it is more commented there will also be a lot more boilerplate code.
Learning from it is fine but just remember: If you are building your own or working on someone elses project DO NOT use any snippets from blender in outside projects! (unless the file doesn’t fall under GPL and you are able to comply with it such as an external library or a part of cycles).
To understand the code the Kenzie pointed at, it would help to read the BMesh Design documenation. There are some Euler functions way down in the code (in bmesh_core.c), but most Blender operations don’t use them directly.