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

No comments: