What is Picture to People ?

"Picture to People" (P2P) is a huge Computer Graphics project. It was started to create new softwares able to make 2D drawing, 3D rendering, vexel drawing, text effects, photo effects, image filtering and other complex Computer Graphics operations. It has been made from scratch, including its low level Computer Graphics libraries like Maccala. Nowadays, most final features produced for this project are released as free online tools available from its official website. This blog talks about Computer Graphics, mainly concerning Picture to People development.

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

Thursday, August 18, 2011

Ray tracing: aliased specular reflections

Sometimes it's difficult to model shapes that look really smooth when we use polygons. Depending on the light position and material configuration, the faces can appear very evident in some regions.

Usually we can solve this problem with some extra work on 3D objects modeling, changing the polygons spacial configuration or increasing moderately the number of polygons.

But there is a much bigger problem: the specular reflections are much more sensible to non-continuous surfaces. Reflection tends to spread the original light rays, so it works like a magnifying glass to geometric imperfections.

To solve this situation, many times it's needed to increase exponentialy the number of polygons for 3D objects, so the rendering time is too high. It's really a very big problem and I'm trying to minimize it using some heuristics.

Below I show three images to illustrate what I have just explained. Pay attention to the reflection of the right side object on the left side one.

1) object at left side really has few polygons and produces a very poor reflection;

2) when I model the object with hundreds of polygons, the object itself is already totally smooth, but it still produces an "aliased reflection";

3) to generate a continuous reflection, it was needed to render an object with thousands of polygons.

Subscribe in a reader

Tuesday, August 2, 2011

3D Text: rendering with global illumination

It has been almost 20 years I'm involved with Computer Graphics studies, researches and developments. Most of this time I spent with Digital Image Processing and artistic filters, effects and transformations. During this time, I have dealt with 3D CG several times, but my main focus always was on 2D world.

Since two years and a half ago, I decided to make serious 3D tools for Picture to People project. I have been studying and researching about 3D during this time, handling many different math models, algorithms and techniques.

A ray tracer to create 3D realistic texts is an old dream that is ongoing. I will need a good piece of time to finish it yet. So, in this meantime, I decided to make other 3D text generator using other paradigm. I would implement it anyway sooner or later.

It's already under development a text renderer based on global illumination algorithms. I'm trying to find a good point between impressive results and reasonable performance.

One interesting thing about this kind of software is: it can generate natively very realistic soft shadows, what gives a very convincing 3D look to the models. Direct illumination methods (like ray tracing) are not good to create this kind of shadow that is very common in nature. Each paradigm has its strengths and weaknesses.

Well, let me show what I'm talking about. Below you see two 3D texts created with a global illumination renderer.

By the way, I have an important thing to celebrate today: it's my post number 200! Most blogs are abandoned before getting one year old and I'm still here. I started this blog in October 2007 and a lot of Computer Graphics subjects were discussed here since that time. This blog tells a lot about Picture to People evolution in recent years.

Subscribe in a reader