What is Picture to People?

"Picture to People" (P2P) is a new, free, in development, software for image viewing, 2D drawing, retouching, authoring, composing, filtering, artistic effects and other image processing. It has been made from scratch, including a new platform independent GDI (the core) and several useful screen widgets. No libraries, no imports. At this moment, it's a Windows tool, but ports can come as the time goes. Initial native interface languages will be English and Portuguese, but it's just the beginning.

"Only who makes has true knowledge. Knowledge is control. True power depends on total control. Only who makes from scratch has the real power."

Wednesday, July 8, 2009

Next challenging library: a font rendering engine

Now I'm working in an engine to render texts from scratch (from TTF fonts) with arbitrary vector based transformations.

Believe or not, it's a VERY hard task. The reason is not the transformations by themselves; the development of a complete font engine is a very complex goal.

In next posts, I will explain superficially why typography is a hard subject (despite the normal problems concerning professional Computer Graphics).

This library is one of the last low level tools I will need to create to use in a new and ambitious high level library. For now, let's keep it like a surprise.

Subscribe in a reader

Saturday, July 4, 2009

Drawing like a human - example 2

Here I show you the last "Real Pencil" example for a while. Can you see like the delicate strokes follow the photo structure? It's one of the more important features of this renderer.

As a complete project, this tool uses libraries that even I took hundreds of hours to develop. Anyway, it was a worthy effort, because the users feedback is very positive: they say it really can generate "human style" drawings.

I'm already working hard in several other Picture to People sub-projects. If everything keeps going well, there are some surprises coming.



Subscribe in a reader

Monday, June 29, 2009

Drawing like a human - example 1

Here I show you a colorful example of Picture to People "Real Pencil" renderer in action.

This example photo was chosen because it has very clear curves. This way you can see very easily how the drawing trace respect and follow the input geometry locally and globally.

The third image is a zoom-in of a part of the second one. Realize like the drawing is made of a big amount of very small and delicate strokes, just as people are used to make by hand.


Subscribe in a reader

Monday, June 22, 2009

Can a computer draw like a human?

I have been studying and researching about Computer Graphics for more than 15 years. A great part of this time I have spent researching about professional artistic filters and effects.

I was always facinated by the way humans produce art, mainly drawngs and paintings. I have always tried to create math models and algorithms able to make drawings like ones made by human hands.

Now I got closer to my intention. I have created a new model to draw based on photos. Here some of the main reasons that make this algorithm work "like a human":

- the final image is made of thousands of small and delicate strokes (many people are used to draw this way);

- each stroke is carefully chosen (the calculations are made stroke by stroke);

- strokes respect and follow the photo geometry globally (on purpose or not, drawers usually act like that).

Below I show you a simple example. You can easily realize the strokes follow the geometry of the input photo in a similar way many drawers do.


Subscribe in a reader

Thursday, June 18, 2009

Vexel drawings from photos: example 8

Here I show you the last example about Picture to People "Art Vexels" section.

I have not shown all possibilities, but I think it's enough. For sure you already realized how configurable this tool is.

Next post will be about a new subject: transforming photos in realistic pencil drawings.

Subscribe in a reader

Friday, June 12, 2009

Vexel drawings from photos: example 7

Yet another vector based drawing made using my artistic vexel renderer to compare with the previous ones.


If you have a look at all examples I published, you can see each one has particular features.


Have a try by yourself in Picture to People site, at the "Art Vexels" menu item.



Subscribe in a reader

Sunday, June 7, 2009

Vexel drawings from photos: example 6

Here you see the next output from the "artistic vexel drawings" series.

It's not so funny always use the same input photo, but it's interesting to compare how the results can be different depending on how you configure the renderer.

I hope you are already convinced this tool is flexible, but anyway I wanna show some examples yet.

Subscribe in a reader

Wednesday, May 27, 2009

Vexel drawings from photos: example 5

Yet another vector based drawing made using Picture to People artistic vexel renderer.

Once more, I try to show you how this renderer can generate a large variety of nice and unusual images starting from photos.

This tool is already online in P2P official website. It's the "Art Vexels" item at left side main menu.

Subscribe in a reader

Monday, May 18, 2009

Vexel drawings from photos: example 4

Now I show you a forth example of Picture to People artistic vexel drawings.

As always, the input was the same photo. For each new example, I try to show a result with nice differences compared to the last one.

This tool has so many configuration options that its use is not obvious.

Subscribe in a reader

Tuesday, May 12, 2009

Vexel drawings from photos: example 3

Here you see one more result from Picture to People artistic vexel renderer.

As promised, I have used the same input image. The original photo can be seen two posts below.

As you can see, my vexel drawing library has a good level of configuration, so user can get different stylistic pieces of art from photos.

Subscribe in a reader

Monday, May 4, 2009

Vexel drawings from photos: example 2

As promised, for a while I will publish here several vexel drawing examples made using my vexel libraries. So you will be able to have a good idea about the power of a parameterized vexel renderer.

To favor a comparative viewing, I will use always the same input photo. Emphasis is about artistic and innovative outputs. Keep in mind that some results can be not so good for some kinds of images and very useful for other ones.

Below you can see the second vexel based result. The original image is showed in the previous post.

Subscribe in a reader

Thursday, April 30, 2009

Vexel drawings from photos: example 1

Now my artistic vexel renderer is finished and very powerful.

As I desired, it's very configurable and let you get many different results. I have extended it to tackle RGB photos and generate colorful outputs.

For a while, I will post here some examples of vexel based drawings made with this renderer, one by one.

Since the idea is let you compare the several different results, I will always use the same input image.

Below you can see the input photo and the first example of vexel drawing.

Subscribe in a reader

Saturday, April 25, 2009

More vexel drawing

I'm still working on my new artistic vexel rendering algorithm. I will take some more time to get it ready to use.

It's probably one of the more complex Computer Graphics algorithms I have created. I'm trying to make it with some interesting freedom degrees.

Here you can see another example of this technique in action.

Subscribe in a reader

Monday, April 13, 2009

New vexel rendering researches

Since some time ago, I create new math models and algorithms to vexel rendering. I make researches trying to discover new and innovative automatic ways to draw based on photos.

I'm inventing a powerful and versatile infra-structure that will let me to make very different, beautiful and mainly artistic drawings according to informations collected from photographies.

Here I show a preliminar result about my new researches. First you see a photo and after a vexel drawing based on this photo.

Subscribe in a reader

Thursday, April 2, 2009

Vexel Drawings

Picture to People project proudly annouces the release of a vexel renderer.

Using your photos as input you can get nice "vexel made" drawings. While trying to keep all important informations of the original image, this kind of effect produces that beautiful "artificial looking" results. The vexel renderer has an interesting configuration level.

Below you see a photo and a vexel rendered version.

I intend to make more tools for vexel dealing when I have time.



Subscribe in a reader

Friday, March 13, 2009

More power to Picture to People libraries

Despite hundreds of effects I already could code in Picture to People site with the libraries I have, I'm not satisfied.

I want more. I would like to have the more powerful (non-commercial) Computer Graphics libraries ever. I think the most powerful CG libraries should offer advanced vector based operations over arbitrary sets of pixels.

With some hard effort, I could find a professional anti-aliasing level making complex operations over bitmaped images. Now it has been a big challenge to take my vector libraries to the next level: be able to make all this operations with an arbitrary alpha channel by input pixel. Beside this, each drawing object can have self-overlapping.

This new kind of operation turns useless a lot of common algorithms for anti-aliased filling and drawing. The reason is simple: when you have to deal with so complicated alpha requirements, the anti-aliasing techniques can not generate any over-painting. If so, your alpha calculations will get wrong, compromising the final drawing.

I'm very busy with this complex low level problem, so I'm not having time to post.

Subscribe in a reader

Thursday, February 26, 2009

How related can be 2D and 3D libraries?

People have been asking me if I'm doing a completely new piece of software and new studies/researches for 3D tasks.

Well ... the answer is "yes and no". It sounds strange, but I will explain.

I'm really doing new libraries regarding source code. Despite in a Math sense a lot of 2D operations and transformations are just a special (simpler) case of 3D ones, the 2D implementation shouldn't pay the overhead of a 3D (more complex) one.

Anyway, after some more time, it will bring other good consequences. Usually, to be really flexible, 3D rendering software need a very modularized project, usually not needed in 2D rendering software. Being clearer: every software should have modularization and encapsulation (preferably in a object-oriented meaning), but it's a good idea take this to extreme in 3D projects. So, if you can, don't mix 2D and 3D libraries.

Just in a software sense, I'm creating new libraries. But, considering all of this in a Math sense, things are not so disjoint. If you understand and know how to implement math in 2D world, usually you are able to generalize it for 3 (or more) dimensions without study a lot.

Even separated in different source files or so, 2D and 3D libraries can be very related concerning analytic geometry and vector calculus.

Subscribe in a reader

Tuesday, February 17, 2009

Picture to People tutorials about CG

Now P2P site has an evolving "Tutorials" section about Computer Graphics (CG). There I tell how to render nice images or how to get better graphics with Picture to People.

Just taking a look at the tutorials images (without read the text), it's possible realize Picture to People tools are more flexible than you can imagine at first moment. Of course you can already get nice results just with the trivial use, but, with imagination and a good mix of all functionalities, the possibilities are almost endless.

Regarding I intend to improve a lot the number of features of P2P site, maybe someday in future I can even write a book about good practices and what you can make using its tools.

Subscribe in a reader

Friday, February 13, 2009

Managing P2P software project

Picture to People project has more than 1 million lines of code. As you can imagine, it's not easy to manage a big amount of software like that.

Now I have been making a restructuring of most of libraries. It's boring and generate no direct product.

Anyway, since the source code gets more complex day by day, as the time goes I will feel the benefits of this work.

Beside this, I'm recoding some very low level libraries in a better way. Hard work for overall improvement of P2P.

Subscribe in a reader

Monday, February 9, 2009

Transforming 3D objects

Now Picture to People 3D libraries can make geometric transformations over some kinds of complex 3D objects.

After some more development effort it will be possible make transformations over the camera.

Above you can see an "a" letter after applying some geometric transformations.

Subscribe in a reader