← Blender.Today
  • 11
  • Published 8 Apr 2020

Q&A: DIVE INTO THE CODE | Blender Everyday #11

pablovazquez
8 Apr 2020

66 Comments

ogierm

Hiiii two questions (sorry):

  1. Are you still doing the Tracker Curfew?
  2. What are some big technical debts the Blender code has?
7
melmassadian

Hello Pablo & Dalai!

I've been using Houdini alongside Blender for quite some time now. I recently started to write a bridge in C++ to use Houdini Assets as modifiers .

It works great but I'm having an issue with how I could share it with others.
Is there a way to write C++ extensions without having the end user build from source ?
Of course, I would provide different binaries per Blender versions, but having a way to access the C++ Api this way could open huge possibilities for interconnections

All the best!

4
Benjaminshurts

* @melmassadian * Wow this would be a life saver!

Cobra

Hi Pablo & Dalai.

Do you guys know why Blender is slow in loading highres textures (4k...) & would that be looked at in the future? Here is a quick demo with just one 4k file, it takes Blender ~10 secs while the other Software ~1 sec...sure Blender can have similar if not better loading system than the current one., it's cruical now with UDIMS & everything image

4
MickHanks

thanks to all the coders in and out of the blender foundation for all your hard work and amzing skills.

4
damian_winnichenko

Hi Pablo, Hi Dalai!

I always have a long list of little improvements for Blender in my mind, and I understand that it is naive to expect every single of them to be implemented any time soon. That's why I need to learn how to code for Blender on my own.

The bad thing is that I am not good at programming. I have very low programming skills. Although I try to change some functions, poke some variables or constants and see what's happening, or even implement some simple modifiers, but it looks to me more like playing with black boxes.

So the question: is it possible of getting some simple advice or comments directly from someone from the developers' team while I am getting familiar with Blender code? Are there any tutorials on how to code for Blender made by Blender developers team? Alternatively, it would have been very helpful if someone from the developers' team was streaming his/her development process with comments. Stay safe and awesome!

4
melmassadian

* @damian winnichenko * I think this is what the stream will be about!

1
Amit

please make a video with andrew price soon on the topic shadings

3
reston.stanton

Hello,

I have recently started developing addons using python and I am planning to learn C/C++ this summer.

My 2 questions are.

(most important one)

  1. What are the best resources for beginning to develop blender using C/C++, for someone like me?

(not as important, skip if low on time) 2. When developing blender, what language do you use more C, C++ or python?

Thank you, I can not wait to see where blender goes next.

3
wiSHFul97

Hello Pablo and Dalai,

1- where should I learn how to write a shader node that runs with gpu?

2- and where do I learn about "C" side of blender? (for example writing a C operator)

Thanks!

3
Mille_Porte

** Blender Live Codeday and Visual Scripting

Hi Pablo and Dalai, I was pleased to note some posts about coding on Blender Youtube channel.

  • Will it be a recurring event? What about a live streaming concerning coding?

  • What is the limit of Python, I mean for what kind of task is mandatory C++?

I would like to take action on the modifier stack (implementing drag and drop, for example) is this within the Pyton scope?

  • Will Everything Nodes (when is its release scheduled?) act as a visual scripting framework (like Blue Print in UE) to customize Blender or develop new tools (eventually overriding Python)?

thank you!!

3
maysamfakhari77

hi pablo why blender developer team don't like architect and engineer they didn't any tools and plane for architect curve tools in blender is sucks you can't draw curve easily it doesn't have any shape like stare cube helix it doesn't have edit curve tools like trim ,fillet or extend blender have potential to make one of best and power full software for architect and engineer

3
kouzanagi

Hi pablo and Dalai Can you explain how to install patch for experimental build you can find on developer.blender.org . want try Pablo Dobarro build :) I tryed mysel,f but it's to hard for my level :) and i can't found any tuto or help to do it proprely.

2
johhnry

Hi,

Thanks for Blender Everyday, that's awesome!

I would really like to contribute to Blender, is there an UML diagram describing the whole architecture of Blender, how the different parts talk to each other?

And second question : how python and C/C++ operate and how links are made each other?

2
fbessou

Hello Pablo and Dalai !

I have two tests related questions :

  • How is blender tested currently ? Are there unit tests, integration tests and/or end to end tests ?
  • How are addons generally tested ?

Thanks ! :)

2
christianclavet

Hi, Pablo and Dalai.

  • Do you plan to refactor the paint brush engines code? More generic code could be shared for the paint, vertex painting, grease pencil and even sculpt.

    Since Pablo Dobarro improved the sculpt brushes, I remarked that painting is slower than sculpting. (Mostly when I use it on my Surface Pro tablet)

  • I saw that the "Settlers" project tried to find a solution to make a 2D mouth on a 3D body. Since Blender have the grease pencil object (Really good tool to make 2D animation with layers) is there, any code addon implementation ideas to add a way to "bake" the grease pencil rendered frame to a texture and project it (like a decal) on a model?

    This could be used in a lot of situation.

2
alex.mitov

Hello guys!

Chaos Group are currently trying to develop V-ray for Blender 2.8x. Are you guys in contact with them to help facilitate this? From what I read in their forum, that they were trying to get in contact with someone from the Blender development team to help with this.

I think that the integration of Vray with Blender 2.8x will be another HUGE boost for Blender's reputation and image as a 3D software for not only enthusiast, but also professionals. It will drive enormous amounts of new users and potential supporters, me included.

Thanks and stay safe!

1
adamsanim8

What's the final say about a C++ API? YAY or NAY.

On Windows we have the system console(cmd) that flashes out the moment you open Blenderalso when working in python the error messages say "check system console" why not put the error in Blender's info Editor?

1
Josephbburg

How to expose a property to the UI in Cycles Bake Code? I'm trying to add a bool to turn on vertex color baking (so I can test the vertex color baking code I'm trying to write without hardcoding it on).

Devtalk: devtalk.blender.org/t/help-information-on-cycles-bake-code/7717
Thanks.

1
Josephbburg

* @Josephbburg * Also, any feedback on the technical questions I brought up on the task would be great!

Pascal

Have you guys considered hiring for rigging & animation modules? in the past streams you have mentioned that they lack developers, so why not hire one or two more to help the only one Dev(Sybren) who's working part time.

1
parkeramitrakshar

I am Really Gonna Ask a Quirky Question Today.... I'm thinking about switching to Linux, But all those Distributions of Linux, Choosing one from it Feels Like a Big Piece of Puzzle to crack....

Question to Both Dalai and Pablo: Which Distribution of Linux Do you Use? Do you Really Like Linux, or rather MacOS or Windows? What OS Does Other Artists and Devs Use at Blender HQ?

1
snieb

* @quarkINatom * Don't fret too much about it. Just pick a mainstream one that many people use, try it on USB, and unless you encounter major problems, install it. (If you have Windows already, maybe don't uninstall it & dual-boot for now.)
Ultimately, they can all run the same apps (esp. since most now come as Snap/AppImage/Flatpak). And you can always install another later (just back up your home folder first).
The distro is mostly about what desktop environment comes preinstalled (Gnome & KDE are the most mature ones), and a bit the variety/recency of the apps in the repositories. (Again, matters less thanks to Snap & co.)
As a beginner, just go with Ubuntu (or Kubuntu/Xubuntu if Gnome feels too weird. But give it a shot, it's nice!). Mint or Fedora are fine, too.
For intermediate users that like to tinker around in the system, and are okay with things breaking occasionally, Manjaro is handy (b/c Arch User Repository). But then anything works, really.

1
parkeramitrakshar

* @snieb * Manjaro Feels, Awesome.... It's Kind of What I imagined.... Thank you snieb.... I was Searching for some KDE based Distributions but Kubuntu is far from Manjaro....

Josephbburg

I use Ubuntu with KDE. I went from hating Linux to loving it as soon as I switched from GNOME! Turns it it was only GNOME I didn't like. The caveat about KDE is that it is a little harder to configure wacom tablets.

1
snieb

* @quarkINatom * You can get Manjaro with KDE as the desktop environment, so. ;) (I have it with Xfce on one machine, and with with Gnome on another)
I like Manjaro for being rolling-release, and the pamac-manager GUI is great. (Arch's pacman that actually runs in the background is also a very nice package manager on its own. I prefer it over Debian/Ubuntu's apt. Also, check the Arch Wiki , it's the best resource whenever you need to manually configure things with the commandline. 99% of it applies 1-to-1 to Manjaro, and most of it even to other distros.

zebus3d

For those who use VSC I recommend that you disable the telemetry that comes on by default. More info: code.visualstudio.com/docs/supporting/faq

Bharat

Hello Blender developers thanks for all your time and efforts put into Blender. Let me jump to the question right away.

Can we have something similar to EEVEE, which is a fast way to get acceptable results, to generate some effects like in "Effekseer 1.5" project. It is opensource too. May be looking at this project blender team can get some ideas to impliment in future. (extension to or Addition to everything nodes?)

Please check "Toon Effects" made with Effelseer 1.5 to understand my question better. Such effects possibility will compliment "Grease Pencil" and Game developers.

Thank you once again.

Emi_Martinez

Hi Pablo and Dalai! :) I have two code related questions -Is it to difficult to add Occlusion Culling for Eevee ?? -what about fixing the playback of image/video sequence on viewport? is difficult for the coders? Cheers from ARGENTINA!!!

hector1903

Hello Pablo and Dalai, why does Texture Paint seem to have have several naming conventions when creating a new “texture”? It’s called “image”, in material properties it’s in base color and called “image texture”, in active tool it’s I called “material” in “texture slots”...

rlocatellidigital

Recently, tutor4u published a great tutorial teaching how to use python in Blender.

olepost1

Hi guys!

I have a question about the transform operator. When you are running the transform operation (either by invoking it in a script or normally in Blender) you cant move around the view since the middle mouse button is now used for the axis constraints. Is there a way to get around this or is this hard coded? I really would like a way to use both surface snapping and move around the view.

Oh and also, is the actual transform operator written in Python and so accessible for a script or is it in something like C?

terrenotodo

whit everything nodes would no longer divide the categories of shader particle nodes and the new nodes? everything would be together to interconnect all work areas?

XDroid

Hello, how to configure Visual Studio Code in order to modify the Blender code source (directly from git) and pushing commits ?

przemasforall

Hi guys! Thanks for awesome 11 episodes :3

I got a question about one functionality that is in Maya and Houdini. Is it possible in blender to do an attribute transfer by uv? For example if you take a mesh from marvelous designer, have one normal version, and one flat version. You do a retopo on flat version ( which is easier) and then transfering position of this new retopoed mesh based on the uv map. I use houdini for it now, but would be nice to have just MArvelous - Blender pipeline ^^

Josephbburg

* @przemasforall * Data Transfer Modifier can do something like this.

mau.memoli

Hi Pablo and Dalai I tried to do a tutorial where you can write a custom modifier, but I failed. I was wondering if you guys are planning on doing a video tutorial for blender cloud or Youtube on how to write a simple modifier. That would be incredibly helpful.

so_records

This would be great if some image processing module was included in Blender Python (preferably with possibility of processing with GPU) .

Amit

please make coding tutorial on youtube for developing plugins

Josephbburg

* @Amit Sharma * Dr. Sybren has some Scripting For Artists videos that may help you. I'm eventually planning on making videos on the topic... eventually.

1
terrenotodo

It would be very useful when reporting a bug to have a keyword search on the same report page to see if the report already exists. Is there a way to search? Saludos !

snieb

* @terrenotodo * You can select Open Tasks in the search bar on the top right, or Advanced Search with Document Type Maniphest Task .

arturo.leone

Hello Pablo and Dalai. @Pablo: Love what you're doing with the show @Dalai: I'd love to find a way to copy-paste images into blender (as in "copy image from browser and paste it the image editor").. how hard you think it'll be to code in python?

snieb

* @arturo.leone * Neat idea! How familiar are you with programming?
IDK about the best way to get an image from the clipboard into Python, but I found these instructions for Pillow .
On Linux, my first hacky approach would be to use Python to call xclip in the shell to save the image to a new file, then import that new file via bpy . It would be nice to not have to rely on platform-specific shell tools, but the general approach of saving clipboard to file, then importing that file, seems likely to work?
Maybe start with having a look at what appears in the Info Editor when you manually import an image file.

arturo.leone

Hi * @snieb * thanks, for the reply. I like to believe I can code something in python, I'll check those link you posted about pillow (which I suppose should be linked as an external library...). I'd rather avoid saving the file and importing it for it seems a bit hacky (?) and also my idea was for fast references to sample colours from or to use as a decal/alpha mask for brushes and such. There would also be the issue of what to do with all the downloaded "temp" files... it's a bit messy. I was thinking more along the lines of creating a new "empty texture" and copy the bytes from the clipboard but, yea, I'll have to start tinkering around to figure out how to start putting something in a new texture...

1
zavedahmadca707

how much time it will take to learn coding in blender if i know python. is it worth it? please tell some resources related to that because they are rare to find. thank you<3 from india.

SciVfx

Hi,

I think it would be great if devs could switch to node based & visual programming interface, at least at some extent. I know that it's a huge thing, and it sounds very unorthodox for a coder.

Actually a lot of tools/nodes in H.. Blendini are subnets of subnets of ... low level nodes. These nodes are code snippets or open source or binary file/data links. It's worth to check ie the Vellum nodes with OpenCL code nodes, even in the free version you can dive into all of them and see (+ modify!) the magic. I'm sure that such direction would be game changer.

We are in 2020, so probably it's time to use the GUI and other-than-keyboard inputs more. It would be more inclusive and nodes are also great for bug hunting & more fluent collaboration.

Elon Musk mentioned that the weakest point is the human-machine interface. Although adopting a Neuralink system in Blender HQ would be too early/pervert :D ... so nodes are the sweet spot.

BLEND the barrier between coding and art!

Josephbburg

cURreNt yEaR!

1
snieb

* @SciVfx (xilofoton) * ... you have heard about Everything Nodes , right?

so_records

Why there is no possibility to access layers pixel data of multilayer images and render results through API?

Iranon

Hello, thank you for your stream :)

I don't know if this question is off topic for this live stream (if it is, skip away): I would like to know if OSL GPU support is planned to be implemented in the future. Cheers!

fink.marco

Hi, i wanted to alter view3d.py in some way that Xray Mode remains in fully Opaque. Basically to select the Backside of a Mesh without go into transparent Mode. Didnt work out for me, any ideas?

koahku

Hi! I've been thinking about diving into blender's code to implement my own modifier but I am a bit overwhelmed by the codebase and I haven't written any C in a long time. Do you think it would be a good idea to wait a bit before truly going at it since Everything Nodes is on the horizon or do you expect the current modifier code to be mostly portable?

augusto.c.felix

Hi guys! Sorry for the lots of questions on the last stream. Today I teach Blender for 300+ people on my online course teaching how to use Blender for Archviz on Brazil were piracy software is almost cultural.

My questions today are just 3 things about something that really bothers the Brazilian archviz community:

  • Will Blender improve/update the support for FBX and OBJ import features?
  • Why the support for import .3DS files was removed from blender 2.8+?
  • Cycles will be optimized to become equal or better than e-cycles? I considered unfair someone selling cycles besides helping the Blender foundation.

My yt channel: youtube.com/c/blenderparaarquitetura

Stay safe guys.

parkeramitrakshar

* @augusto.c.felix * My Country Too.... It's Like 1 Pirated Software every Yard Radius....

senteria

* @augusto.c.felix * Please just pick on embeded Addon for 3DS import.

Mille_Porte

* @augusto.c.felix * I'm interested in archiviz too, you have nice material on your channel, but everything is in portuguese, will you edit some stuff in english (subtitle at least)?

Do you use Archimesh? Seems it doesn't have the option to create interior walls, am I right?

pablovazquez Author

Today is Code-related Questions day!

Please save those questions for Friday, today's episode is for questions about the Blender CODE, the inner workings, mainly targeted at developers (or want-to-be devs).

2
snieb

* @augusto.c.felix * re: E-Cycles . Its developer, Mathieu , has been an active contributor to Blender development. Afaict, it's not like he just decided to withhold his contributions from Blender, but forking Cycles was more about disagreement about how it should be optimized? (I don't know details, but consider that e.g. making it faster now might make it harder to maintain later .)

Also, keep in mind that it's perfectly fair game to modify GPL software & sell it , as long as you make the source code available to ~paying customers~ [EDIT: actually you have to make it available to anyone who asks.] The intended meaning of "free" in free & open source is like in free speech , rather than free beer .
( Cycles itself is even under the more permissive Apache license.)

Bulat

Hi Pablo and Dalai. Are you planning to add a brush setting "radius unit by scene" in "Texture Paint"? Thank you!

pablovazquez Author

Please save those questions for Friday, today's episode is for questions about the Blender CODE, the inner workings, mainly targeted at developers (or want-to-be devs).

1
Bulat

* @Pablo Vazquez * Ok. I'm sorry.

finalflasher

Hola Pablo and Dalai <3

  1. Can we expect faster compositor anytime soon or any updates?
  2. Autotrack addon was awesome tool for VFX guys till 2.79... it got ported as 3rd party addon but is bugged, why its so underrated?
pablovazquez Author

Please save those questions for Friday, today's episode is for questions about the Blender CODE, the inner workings, mainly targeted at developers (or want-to-be devs).

1
Christopher_Anderssarian

* @finalflasher * There's a Compositor improvement plan in the works.

1