Forum Replies Created
The biggest hurdle to take in Blender core development is really starting off with it. The code consists of millions of lines of code, and they’re not very thoroughly commented. Luckily its all kind of structured into different source files in different directories, but its still a literal haystack to be looking around in. And then theres the actual code: of course things are organized in a certain way (DNA, rna,…) and its worthwhile reading some articles on the Blender site and Wiki to get at least some starting idea of how Ton put it all together in the beginning. When I started off with core, I was also still not very experienced in C also, so it mustve been harder for me than for someone already good at it, but even then hours and hours were spent trying to gain “first access” to the code, mainly scouring many source files for the small part that was doing the things I was trying to change. My advice is to persevere even when things seem all too crazy, cause its this “looking around” that shapes your broader knowledge of the core code structure.
When you do (persevere) things will grow easier soon, especially in the areas of code you already explored, and I was able to progress to coding more intricate things soon enough by growing into the code, but even then eg. coding the preselection highlighting drawing code I made, took many iterations, cause each time while coding one solution, I discovered Blender structure really demanded some other solution and the one I was trying didnt really fit in so I had to change it all.
So when integrating something like Cycles (not even touching on the intricacies of constructing a renderer itself) you first need a lot of experience with the Blender codebase, since it has repercussions in many parts of Blender that need changes, and often the already existing code was not made with the presumption of someone wanting to do the things you want to do.
Also debugging can be a nightmare, mainly because some bugs hide in a part of Blender you didnt explore before and are very difficult and slow to track down.
Of course theres always the IRC freenode #blendercoders channel where you can ask questions when you really get stuck, but people there are quite busy also and most of the problem solving will be up to yourself.
Still, glad I all did it; the experience I gained in reading and working with other peoples code alone is invaluable.
VSE drag and drop would be “rather” easy to implement as a core feature I suppose. Never use the VSE though, so should do some research on it. :(|) Implementation details could be discussed here if I’d decide to go forward with this.
Logarithmic compression of the RGB channels? Could you point me to a website with some math theory on this?
What do you mean exactly by rotation of the normal/position pass?
Do show me the Mask ID script, I’d take a look for sure. @vincentg : we seem to have a common interest in scripting for Blender, maybe we should get in touch some more…?