GSoC 2017 : Vertex Painting Improvement

I haven’t push the code yet. The add-on folder is not getting pushed as it have different repository. I will work on it. It will require some time.i will Post here as soon as I do it.

All good, I’ll build whats there anyway and try do some example meshes.

Ok, I have pushed the code,
As the addon can’t be pushed I have added the modified addons in the startup folder,
To access the modified exporter press space, say we have to get fbx then type fbx select the one which consists of “soc”.
Make sure you do make install, it is required to copy it in bin directory.
Hope it works well. Waiting for the feedback!

The collada exporter is also ready with alpha channel, I have pushed the code. I need help to test it. here is my soc branch https://developer.blender.org/diffusion/B/browse/soc-2017-vertex_paint/

Thank you.

Hey Darshan, I would like to test this but I lack the knowledge to build a version of blender from that link. Is there a pre built version to download?

@FrankieH https://wiki.blender.org/index.php/Dev:Doc/Building_Blender this docs will help you in building from source code. Sorry, currently we don’t have pre built version. If you get stuck while building from source code go to IRC #blendercoders on freenode you will get plenty of help from there. Thank you for showing interest.

I think you must realise that there won’t be very many of the target demographic (ie. artists) willing or able to build this themselves. The number of testers will be much greater if you provide builds!

It looks like brush strokes are giving same alpha value to vertex colors without taking into account blend mode or strength of the brush.
Is it a temporary status ? Or is there a technical limit ? Or is it what was planned ?

I think that people want to paint alpha and color at same time to have an alpha value coherent with color gradients made by brush strokes.

I tested ply and fbx exporters (I did not build your branch with collada, yet).
Files are imported correctly into master.
It looks like importers of your branch have not been updated, yet.
So, they are trying to add RGB Vcol data in your branch that requires for RGBA Vcol data.

Same thing I mentioned earlier on this thread. Most ppl don’t have time to test let alone build. I am interested in vertex painting as someone who paints textures from scratch.

However, I haven’t gotten around to testing this due to me being busy and the need to build as there are other software or apps that need installation to get the build process started and issues arising from the build not complied properly and other stuff just discourages me taking any time out to try it.

Most professional artists who are going to help test this are busy with their work so building will probably discourage them from even trying it out. Let alone other artists who are not familiar with how to build from source code.

Whereas an already complied version means a quick download and testing it.

We were wondering about this. At the moment, the part about not taking into account the blend mode was a conscious choice - figuring that if you are trying to set the alpha, you have in mind what alpha you want and don’t want it partially applied. One issue is that it is harder to see exactly what alpha value you have on a vertex color. But we could be persuaded to change this. What do other artists think?

One possibility would be to add four new brushes: one for each of the channels R, G, B, A, to let artists affect only the channel in question. It seems that game devs sometimes (often?) use the channels independently, and it is probably a bother that there is no easy way to change just a single channel to a desired value.

The thing about not taking brush strength into account was another deliberate choice, again because you already have alpha as a ‘strength’, but this could also be undone (and I guess would be more important if we start taking blending mode into account).

In past years, someone set up a buildbot to build all of the GSoC branches. Sadly that seems not to have happened this year. I guess we could try to make some builds ourselves and put them somewhere, but we have less experience in how to make a build that ‘just works’ on a variety of machines.

The choice was made to see transparency on viewport.
So, painting only alpha channel workflow would be coherent with same erase/add blend modes that already exist in texture paint mode without adding R/G/B brushes.
In fact, it does not make sense to add 3 different RGB brushes. User can already create a Red Brush and change its value.
This brush will not affect Blue Channel.
It would be more interesting to have a lock for RGB channels. So, an arbitrary color will only affect desired channel.

An alpha value set in all occasion is not a strength.
Brush strength produces a variable value according to certain conditions. Stylus pressure, Curve of Pointer, Blend mode, use of textures…
It is the whole point to have a paint mode. And not just selecting vertices and clicking an assign button.
Weight Paint brushes have both a value and a strength.

By the way, what did you decides about problems I reported about Non-Occluded mode in Weight Paint mode ?

Thanks for your reply zeauro.
How do you create a Red brush that does not affect the Blue channel? I can see that multiply mode would do that but what if you don’t want multiply in the red channel?
But anyway, I like your idea of channel locks much better than creating separate brushes – good idea!

I am also fairly persuaded by the arguments about strength. I’m not completely sure that it is easy to do however, as the code somewhat abuses alpha to indicate strength right now, and I’m not sure we completely disentangled that (though I think we did).

Any other artists have opinions on this subject?

If you use Add or Substract with full saturated R or G or B you’ll be able to paint each channel. It’s still tedious and a lock channel would be appreciated, especially when we need to Smooth each channel separatly (the current Blend brush blend colors all together).

Will this work with “bake to vertex colours” ? I set up all of vertex color data by baking from material/textures gradients

Will this work with “bake to vertex colours” ? I set up all of vertex color data by baking from material/textures gradients

Will this work with “bake to vertex colours” ? I set up all of vertex color data by baking from material/textures gradients

I haven’t checked but I doubt it would work right now. But this does seem a useful thing for Darshan to add as part of GSoC, and hopefully not too hard.

Hey guys,
Can you please check this 2 branches (win64) and compare the speed? https://drive.google.com/drive/folders/0B62B6BmVbltVb0cyQS1TekNZZ0E?usp=sharing

I don’t want to rush into conclusion but i have the impression that Gsoc_2017 is really slow compare to Gsoc_2016. If it is so may be it will better to sort out what is the cause. Howardt and Darshan please have a look.

I believe the speed problem has been addressed but I cannot build blender at the moment - still trying to fix what is wrong, this is master branch and this branch so I’m pretty sure its just me :(, this is on macOS, I’m gonna hop into the IRC channel to see if anyone might know what is going on.