Archive Page 2

17
Jan
09

Favicon and Python

I decided to create a favicon [1] for my site. It’s not well designed, but I think the general idea is good for future versions. I just posted this information here because I did it using inkscape.

logo

The second part of the news is that I started coding in python. I recently borrowed a book about it, “Learning Python” by Mark Lutz and David Ascher.

python book

I’ve tried to solve some programming problems from SPOJ [2] to get a feeling, although I’ve already programed before (but I totally forgot about!) Well, but I’m learning python for another reason this time: I might need it for Blender!

Reference:
[1] Wikipedia – Favicon
[2] SPOJ

16
Jan
09

Room 6

Just applied bevel modifier to the bed and used WardIso specular shader for a shining surface. Also added the drawers again to the desk, this time with more details.

room6

15
Jan
09

Ray Tracing – More theory

Getting back to lesson 2 in the ray tracer tutorial [1], I read a little about Photo exposure [2], Gamma function [4] and the sRGB format [3].

I then proceeded to lesson 3 [6], where there is a good discussion on Procedural Textures (which I’ve already read about [5]) and Texture Mapping and how they can be implemented.

I didn’t have time to analyze the code carefully yet, but I’ll do as soon as possible.

[1] A raytracer in C++ – Lesson 2
[2] Wikipedia – Tone mapping
[3] Wikipedia – sRGB
[4] Wikipedia – Gamma correction
[5] Kunigami’s Weblog – Texture Types
[6] A raytracer in C++ – Lesson 3

14
Jan
09

Room 5

From the previous attempt, I only added the window grid. I managed to fix the blurred shadow cast by the outside light source. After taking a look at the Spot Lamp manual [1] I discovered that the scene was being rendered using Buffered Shadows, which is fast but renders low quality shadows. The other option is Ray Tracing, which is slow, but renders shadows at a very good resolution.

Room 5 with spot lamp rendered using ray tracing (rendering time: 2m:29s) :
room5rt

Room 5 with spot lamp rendered using buffered shadows (rendering time: 1m:22s):
room5bs

Reference:
[1] Manual/Spot Lamp

11
Jan
09

Room 4

I re-modeled all the objects using the same scale as the real ones. I added more reallistic textures to the bed, the desk and the floor (wood textures). I imported the baseboard from another scene I did for another post (Texture Types) using the append tool [1].

Another major change is the addition of global illumination, a light effect that Blender doesn’t support (AFAIK). There are several ways to fake it. I read about one at “Noob to Pro“, but I didn’t like the result. I discovered by chance a property in Shading > Material Buttons > Shaders Panel called Emit. This feature is useful if we want an object to emit light, but if all the objects in the scene emit a small amount of light, the scene seems to have global illumination!

The result of this changes follows:

room4

I also tried to add an external light source for a cool effect, but the shadows cast by this light have low resolution. I still have to learn how to control this effect:

room4ol

Reference:
[1] Blender tutorial – Append

11
Jan
09

Room 3

After learning some new features of blender, I decided to improve the modeling of my desk. The result can be seen below:

room3

Unfortunately I did something wrong when building the faces of the new desk and when applying smoothing its faces become weird:

problem

I’ve asked for help in blender artistis forum, but couldn’t get it solved yet. The full discussion can be seen here.

10
Jan
09

Ray Tracer Development – First Steps

Reading a theory book about ray tracing is somewhat abstract and I found it too hard to code it from scratch, although there’s a chapter in the book dedicated to the actual development of a ray tracer software. But I decided to research on internet before start coding. The first reference I found was wikipedia [1] which explains basically what I’ve already read in the book. The interesting part was the “external links” section, where I found a excellent tutorial on ray tracing development [2]. There they use lessons and also provide c/c++ source code. My first idea was to recode everything while following the tutorial, but I though it would take too much time for little learning. So it’d be better to read the source code and try to understand it.

I’m in lesson 3 yet, but we’ve already covered aspects like reflection, diffuse and specular lightning, anti-aliasing (by super-sampling) and also some monitor exhibition issues.

I’ve been testing these codes under linux. I could also be doing it in windows, but since it is a command line software, I prefer to develop in linux.

My future plan after finishing the lessons is try to code my own version for blender files.

Reference:
[1] Ray Tracing – Wikipedia
[2] Raytracer in C++

06
Jan
09

Bearing Modeling

Today I finished the bearing modeling. The final result can be viewed bellow:

bearing

Unfortunately I couldn’t follow correctly the lesson 9 of the tutorial [1], about texturing and rendering the bearing. Even with all the configuration given, the result wasn’t the same as the rendered image in the tutorial. Thus, I did my own.

This seems to be a nice way to show a mechanical device and its components.

Some additional things I learned (or remembered) how to do:

  • Scale with respect to planes normals (Alt-S)
  • Select loop vertices (Alt-RMB)
  • Add neighbor vertices to the current selection (Ctrl-Num+)

Reference:
[1] Modeling a 608 Bearing

05
Jan
09

Bearing modeling, hotkeys table and ray tracer

I’ve been following a tutorial about modeling a mechanical piece – a bearing [1]. The tutorial is divided into 10 extensive but well detailed parts, and I’m currently in part 4. The great thing about this tutorial is that it uses Blender with numerical precision, like the autoCAD tool (in which I have some 2D experience). Besides learning more about Blender’s modeling tools, I feel that this kind of work might be useful in my field (engineering). The partial result is showed bellow:

Bearing

Some of the things I learned (or remembered how to do):

  • Center the 3D cursor in origin
  • Spin tool
  • Show edges lengths
  • Explanation about the pivot
  • Rotation around a given reference point
  • Snap tools
  • Technic to put a point over a (orthogonal) line
  • Modifier: edge split
  • Edge Special Menu: mark an edge as sharp
  • Hide/Show vertices

Also, I found a hotkey table reference: http://members.chello.nl/j.kassenaar/blender/hotkeys/kall.htm.

Last but not least, I decided to start a big project, and I’m not sure if I’ll have enough time, knowledge, intelligence or will. Well, anyway, the project I’m talking about is to write a ray tracer from scratch.

I’ve borrowed a book at Unicamp library (IMEEC) about the subject. It’s the “An introduction to Ray Tracing” by Andrew S. Glassner.

book

Reference:
[1] Modeling a 608 Bearing

03
Jan
09

Room 2

From the first attempt, I added drawers and cd cases to the desk, a chair, windows and colored them. I also included an outside lightning. The resulting image follows:

room 2

From the second attempt, I added the window frame, applied a subsurf modifier to the chair and remodeled the bed using bezier curves to the actual shape of my bed. I also adjusted the specularity of the wall which was concentrating too much light, like a smooth surface. The third room follows:

room 3

It was not easy to model the window frame, but I’m sure there’s a simpler way to do the triangular ending, like the corner of the frame (which I made using rotation and scaling):

corner

References: