Progress on Text Rendering

August 21, 2020

Hi everyone!

As I have mentioned in the previous post, I took a little break, but I'm now back working on VGC :-) More precisely, I've been working on text rendering for the past few weeks: the image above is one of the very first renders of text in the VGC graphics engine!

Why do I need to implement text rendering?

Typically, when developing a desktop application, showing text on screen is quite easy: you can simply use the built-in text functionality of your chosen UI framework (example: Qt, GTK, Win32, Cocoa, Skia, etc.). Basically, you just write something like "drawText('Hello!')", and you're done.

However, as I explained at the beginning of the year, I decided to implement my own graphics engine so that I can fine-tune it and optimize it to the specific use case of VGC. In fact, the requirements for VGC are somewhat more similar to a 3D game than a typical user interface, not only because we need a 3D view, but also because we need extremely low latency, otherwise drawing doesn't feel good (lag between mouse and drawn line).

Implementing a custom graphics engine is not a decision I took lightly, and one of the things that made me hesitate the most is text rendering. I knew it would be one of the most time-consuming thing to implement: text is more complicated than it seems. Anyway, because of this choice, I need to implement some custom code for rendering text, which most applications typically don't have to do.

What is already implemented?

I've made a lot of progress the past few weeks:

What should still be implemented?

There are three big remaining algorithms to implement:

What's nice about the two remaining steps is that they will be super useful in the future! I also need these for rendering VGC faces. I just happen to need it now for text rendering, but even if I hadn't decided to implement some custom text rendering, those are algorithms that were needed anyway :-)

Once again, thanks a lot for your support and patience!

Boris

Become a sponsor

Excited about VGC? Join the sponsorship program to help us make it happen!

Indeed, we made the choice to be funded by future users like yourself rather than business investors, to ensure that your interests always come first.

How does it work?

For only $1 per month (Bronze Sponsor), you get instant access to all exclusive news as well as all alpha and beta versions of VGC. This allows you to try out VGC right now, which is a unique opportunity to provide early feedback and shape the tools the way you want them to be. Welcome to the team!

For $3 per month (Silver Sponsor), you also get a perpetual license key for the upcoming VGC Illustration 1.0 and VGC Animation 1.0. Higher amounts (Gold Sponsor and above) also give you software upgrades for up to 10 years! It's basically like pre-ordering VGC at a discounted early bird price.

You can either pay in USD via Patreon, or in EUR via Tipeee. You can cancel your monthly payments at any time, and still keep your rewards, no questions asked: we trust you to contribute for a number of months which seems fair to you. Alternatively, you can also choose to make a one-time payment via Paypal rather than monthly contributions. Just click on the chosen button and follow the instructions. Thank you!