Hello Kilon
Likewise… It feels like walking among the experienced ICT giants once again and that feels great fo me to be able to communicate with a person who goes as far back as I have done.
REGARDING BLENDER SOURCE_CODE INVESTIGATION:
I’ve installed Git today (09-march-2018) and cloned the master repository, to further investigate it deeper and deeper on my local harddrive.
I think this will provide me my answers much faster then endless surfing on the Internet.
Thanks for the link to the diagram, which I already encountered myself a couple of weeks ago. BUT immediately I find myself asking
“What is its real and actual value” when is is being posted on a section od the Blender Development Wiki webpage which has not been updated since “Ages”?
The more I dig deeper into the Blender Wiki / Developer “document” pages, the more sad I start to feel:
- What a giant holes in (complete and up-to-this-date) “developer grade documentation”.
- What a serious lack of overview, structural architectural diagram images / pictures.
- Little to no User-Interaction/ Interface-diagram, no UML and Use case material of the entire package / individual modules.
- Little or no graphics who show you the inner workings of Blender and her modules… so sad!
I have even using the Google site-search function to to fully scrape the Blender Developer Wiki… but again…don’t get me started how sad the state of "Blender (developer /enduser) documentatie really is. </break… since I can go one for …>
That is the main reason why I’ve downloaded the source code and am currently busy to start designing (and writing) my own Blender documentation tools, which makes - by the way - a nice refreshing course in C and C++ back from the good old days.
they can be found in makesdna, makesrna, blenderkernel
Thanks for the reference to the best place to get started, really appreciated!
I advise reading and studying the whole section of “General Blender APIs” , as you can imagine there is a lot of dependency on these libraries. What you should looking for should be one of the headers of those library most likely the node library.
Thanks again for pointing me in the right direction.
I also strongly advise making a debug build of blender.
Thanks for the tips, Where can I learn how this works?
Of couse if you run into dead ends and you don’t get answers from the code and the experts you can always ask me here for more clarification.
That seems to become the default / the norm on this part of my Blender journey… experience ;-} since this project seriously lacks good documentation from the top-down. But hé I like a challenge so now and then, and being forced to create my own documentation,
by figuring how Blender really works from its own source_code, might become my cup of tea in the upcoming 2,3 months.
I am no C experienced coder and definitely not familiar with cycles internal. But I am familiar a bit with Blender internal data structure and opengl binding which I studied to gain a more deep understanding of the bgl python module (it gives full access to blender’s opengl context which I use to creat a custom GUI API which is independent from the existing Blender GUI API)
That makes (now) 2 of us, since my C-skills are now a little rusty (from 20-25 year ago), but I still have the hacker-mindset, so i’m sure will reboot that long_term memory section of my brain into active duty again And with the help of the right C-tutorial and code-snippet websites I’m sure i get quickly up-to-speed…
QUESTION: Is it correct to think that you have succeed to create your own GUI into Blender already?
Sounds interesting, and quit a deep dive into the Python belly of the Blender-beast too.
Good luck and keep asking questions
I have a few… right here and now… are you ready?:
1 - DO YOU KNOW ANY (FREE) SOURCE-CODE AUTOMATED ANALYSES AND DOCUMENTATION TOOLS?
I’ve found installation / project fragments of “Doxygen” setup file in the \doc\doygen folder. I wonder why this was put into there, since … no docs foun about it (yet).
2 - DO YOU KNOW ANY (FREE) SOFTWARE, WHICH CAN GENERATED SOURCECODE / HEADERFILE (INTER)DEPENDANCY TREES FROM GITHUB REPOSITORY
Off course I can do this task all by hand, (or start writing my own toolset for it) but going through about:
~ 1.250 C source files
~ 1.200 CPP source files
~ 1.600 Python files
~ 3.000 Header files
In total about 10.000+ files might take a day, week. month or x… so I was wondering if there are any good automated tools which can swallow up the Blender master-source code package and assist me a little bit to get an overview quick?
I already found a nice list of possible packages:
3 - DOES BLENDER HAS SOME SORT OF GLOBAL DATA-DICTIONARY somewhere? anywhere?
Where I can quickly find names, scopes, data-types of all variables used inside the source-code? Right now there are a few fragments of the “Blender Developer Wiki” but not of them paint the complete global overview picture:
Thanks for the tips so far Kilon. much appreciated!.
Wishing you a heppy weekend