Boris Dalstein - VGC

Boris Dalstein - VGC

Page vérifiée Created at November 1, 2017 Contact

  • And here is the progress report for January 2018! 

    Note that I'm now only making one video per month, since I realize that it was taking too much time to try (and fail) to make one video per week. You will still get a short text report every week :)

    Thanks again for your support!



    Hey, this is Boris! I'm developing two open-source graphic tools called VGC Illustration and VGC Animation, and in this video, I'm going to show you what I have done so far.

    First of all, since the last report, I implemented some mouse navigation. This means that it is now possible to pan the view, zoom in and out, and also rotate the view. This is a very basic feature, but it took some time to implement right. For example, I wanted to make sure that when zooming or rotating, the position of the mouse acts like a pivot, which means that the objects under the mouse stay under the mouse. This makes it very efficient to navigate to a different part of the drawing: just zoom out, move the mouse, then zoom back in.

    Secondly, I implemented a feature called "adaptive sampling". In practice, this simply means that the curves look very smooth, now and you cannot see any sharp corners. For comparison, this is how it looked before, and this is how it looks now. In order to understand what's happening, I need to explain a little bit how vector graphics works. When you sketch a curve, the software only gets as input a list of points, which are coming from your mouse or tablet. I call these points mouse samples. Well, optionally, the software also gets as input a pressure value if you are using a tablet, and we use this pressure to determine the thickness of the curve, but this is another story. Anyway, from these points, VGC generates triangles, which are then rendered by your GPU. The issue is, if you only generate two triangles between mouse samples, like here, you typically see ugly corners, it doesn't look good at all. You can improve the situation by generating, say, 20 triangles between mouse samples, instead of just two. This is better, but not perfect. Indeed, in very sharp turns, you may still see ugly corners. And in addition, when the curve is almost straight, there are way too many triangles than necessary, which in practice degrades performance. Oh, and by the way, this is what I was doing in VPaint, and is one of the reasons why VPaint was a bit slow. The solution is to generate just the right amount of triangles. You want to generate more triangles in sharp turns, and less triangles when the curve is almost straight. This is what is called "adaptive sampling", and is now implemented in VGC Illustration.

    And finally, I decided to get some new gear to improve the quality of my videos, which includes new microphones, studio lights, and a monitor to attach to my DSLR camera. I've spent some time to learn how to use all that, and hopefully you can see the difference in quality between this video and the previous ones. So I'd like to give a big shout-out to all my sponsors, whose donations made this possible, thank you so much!

    Also, as you may have noticed, I wasn't able to make one video update per week. It takes a little bit too much time away from development, and some weeks I just don't have many interesting things to say. Therefore, from now on, I'm planning to make only one video update per month, and only a short text update per week, only available to sponsors on Tipeee and Patreon. And I think I'll be more productive this way. Anyway, this is all for today, thanks for watching, and as usual, see you next time! 

New Microphone for Weekly Updates!

- 1
News reserved for Tippers only

  • Hi everyone, here is the video link to the update for this week!

    Because it's Christmas, this update is public, so feel free to share it on social media and raise awareness to the project! :-)

    Now curves can have variable thickness based on pen tablet pressure.

    Merry Christmas to all, and thank you again!!

  • Hi everyone! Here is the video for this week: 

    I finally started to add sketching functionality :) I was able to do this beautiful drawing within VGC Illustration:

  • Also, I am discussing in the video the new fee which is being added in Patreon, but since you're using Tipeee and not Patreon, it does not affect you at all, so you can ignore this part of the video

    Thank you all again!!


    Video transcript

    Hi everyone, this is Boris, and welcome to VGC Weekly Updates!

    First of all, thank you to all my sponsors! It's now been two months since I started this project, and even though it took a little bit of time to get started, I'm now making more progress.

    Last week, I started to add, finally, sketching functionality into VGC Illustration. So now, I can use my mouse or my pen tablet, and start sketching a few curves.

    It's still very basic, so unlike in VPaint, there is no undo, no connections between curves, you cannot save or open, there is no selection mechanism, and you cannot even pan or zoom the view. Also, VGC Illustration doesn't have yet the smart curve smoothing technique that VPaint uses, so if you draw too fast, you will start to see corners.

    However, unlike in VPaint, I'm now using a modern OpenGL architecture, so you should see a much better performance than the old OpenGL I was using in VPaint.

    Alright, that's all for the code. Regarding crowdfunding, you may notice that I changed the names of the rewards, and I deleted the last one, which was unlikely to be pledged anyway. The reason is that I've been asked what was the difference between sponsors and investors, and the answer is in fact that there is no difference apart from the name. So I decided to avoid confusion in the future and just rename everyone "Sponsors", and the same naming scheme as they use in the Blender Foundation.

    And speaking of Patreon, I just received an email yesterday, saying that starting December 18, they are changing the way fees are processed. Before, you were paying exactly what you pledged (not counting Value-Added Tax for European residents). Patreon was getting 5% of that, and approximately 7% was paid in transaction fees.

    But starting December 18, in order to "make the income of creators more predictable", Patreon will start to charge a service fee upfront to patrons. The amount of this fee is 2.9% of your pledge + 35 cents. In practice, this simply means that you will pay more than what you peldged, and I will get more too. On average, I get exactly the same percentage as what you give, but personally, I think that's a bad system. I'd rather prefer if Patreon would deduct these fees from what you give, instead of adding it on top of it. And I think that this is going to discourage people from donating.

    Anyway, this is all for today, thank you for watching, and thank you all again for your donations, as a reminder, these videos are only available to sponsors for a 2-month period before they are made public, so if you're not a sponsor yet, and you want to know what happened in the last two months, then please make sure to support me on Tipeee or Patreon, I've put the link in the description of the video below.

    Thank you all again, and see you next time!

  • And here is the update for this week!

    Once again, it is a Youtube video, and this time I have added subtitles both in English an French to make it more accessible :) All of this is a good training for the upcoming promotional videos coming in two-three months.

    Thank you again for your support! Part of your donation ($15) was used to buy a license for the short 10-sec music that accompanies the logo, and part of your donation was used to buy a basic tripod (20€) and some studio lights (40€) ! Next, I will invest in better audio recording equipment (currently I use my phone... which is still better than my camera microphone), and maybe also a new lens for my camera ;)

  • I have finally started to code! Nothing fancy so far, just a few points appearing in a window, and the possibility to add new points via Python scripting.

    For those interested, the code is in GitHub:

    Thank you so much for your support!